الاستعلام عن طريق الروابط
السلام عليكم
أريد دالة أو كود يمنع تنفيد الاستعلامات عن طريق الروابط يعني أنا عامل خاصية الاعجاب بالموضوع عن طريق الأجاكس وكدا طرح الردود وحدفها لكن يستطيع أي واحد أن يدخل عن طريق السورس الى ملف الجافا الخاص بهذه الخصائص ومن خلال دالة $.post يستطيع أن يستخج الرابط الدي يؤدي اليه id مثل هذا الكود متلا $('.LikeThis').livequery("click",function(e){ var getID = $(this).attr('id').replace('post_id',''); var getIDs = $(this).attr('rel').replace('user_id',''); // $("#like-loader-"+getID).html('<img src="loader.gif" alt="" />'); $.post("like.php?type=like&postId="+getID+"&userId="+getIDs, {}, function(response){ $('#like-stats-'+getID).html(response); $('#like-panel-'+getID).html('<a href="javascript: void(0)" id="post_id'+getID+'" class="Unlike" rel="user_id'+getIDs+'">Unlike ↓</a>'); $("#like-loader-"+getID).html(''); }); }); يعني سيستدعي العضو الرابط متلا على هدا النحو like.php?type=like&postId=3&userId=1 وسيتم تسجيل الاستعلام وأنا اريد ادا قام باستدعاء الروابط على هذا الشكل يطلع له خطأ
2 إجابات
أعتقد أنك تقصد أن الصفحة لا يمكن الوصول إليها إلا
عن طريق شخص مصرح لة ؟ أذا كان سوالك هكذا أستعمل نظام Session (الجلسات) و اعمل شرط أنة إذا كانت الجلسة مسجلة أعرض الصفحة غير ذلك أطبع رسالة خطاء مثال: <?php session_start(); // Start session $_SESSION['Name']="local"; if($_SESSION['Name'] == "local") { echo 'Hello '.$_SESSION['Name']; } else { echo 'The Name Not Avalibale'; } ?> بواسطة: Newprog 1 من 1 أشخاص وجدو هذه الاجابة مفيدة. هل وجدتها؟ نعم لا لا أخي ليس هدا قصديأنا أعني الدخول الى الصفحة عن طريق روابط خارجية
هل هذه الطريقة جيدة
فقد جربتها ونجحت if($_SERVER["HTTP_REFERER"]){ يتم طباعة الكود } else{ كود الخطأ } بواسطة: local 0 من 0 أشخاص وجدو هذه الاجابة مفيدة. هل وجدتها؟ نعم لا انا حتى الان مش فاهم انت عايز تعمل ايه الفكرة هي كالاتي : HTTP_REFERER يعنى ان الرابط تم الدخول عليه من موقع اخر .. يمكنك تحديده الى موقعك لتقييده الامر هل من الازم أن أعمل رابط موقعي function isOurSite(){ $refer=$_SERVER['HTTP_REFERER']; if(empty($refer)){ return false; } else{ $select=mysql_query("select domains from config"); $fetch=mysql_fetch_assoc($select); $domains=$fetch["domains"]; $domains=unserialize($domains); $url=explode("/",$refer); $count=0; for($x=0;$x<count($domains);$x++){ $myDomain=$domains[$x]; if($url[2]==$myDomain||$url[2]=="www.".$myDomain||$url[2]=="localhost"){ $count++; } } if($count>0){ return true; } else{ return false; } } } 10 / يونيو / 2012 الساعة 12:10 |