PHP检查表单提交是否来自于本站_[PHP教程]
方法一: 你可以把处理提交数据的代码写到一个单独的文件里,比如form.php。 if (defined(’INSIDE’)) {//判断是否有定义INSIDE常量 //处理表单 } else { exit(’错误’); } ?> 然后,在提交表单的那个页面先定义INSIDE这个常量,常量值无所谓 define(’INSIDE’, ’TRUE’); 接着,判断是否有提交,如果提交,则 include ’form.php’;
======================================================================================= 方法二:
if(PHP_VERSION<’4.1.0’){$_SERVER = $HTTP_SERVER_VARS;} if(isset($_SERVER["HTTP_REFERER"])){ //针对部分浏览器可能无HTTP_REFERER,所以做这么一个判断 $servername=$_SERVER[’SERVER_NAME’]; $sub_from=$_SERVER["HTTP_REFERER"]; $sub_len=strlen($servername); $checkfrom=substr($sub_from,7,$sub_len); if($checkfrom!=$servername) { echo ""; exit; } } ?> 此方法并非绝对安全,因为HTTP_REFERER是可以伪造的,只能是防君子但不能防小人了,但在一般情况下已经够用。
|