PHP安全代码--POST方式提交数据

 1 function submitcheck($var) {

 2     if(!empty($_POST[$var]) && $_SERVER['REQUEST_METHOD'] == 'POST') {

 3         if((empty($_SERVER['HTTP_REFERER']) || 

 4 preg_replace("/https?:\/\/([^\:\/]+).*/i", "\\1", $_SERVER['HTTP_REFERER']) == preg_replace("/([^\:]+).*/", "\\1", $_SERVER['HTTP_HOST'])) 

 5 && $_POST['formhash'] == formhash()) {

 6             return true;

 7         } else {

 8             showmessage('submit_invalid');

 9         }

10     } else {

11         return false;

12     }

13 }

 

1.在客户端加入formhash表单防伪码

 

<input type="hidden" value="71afa49c" name="formhash">

 

2.确保HTTP_REFERER为空(HTTP_REFERER是当前提交页面的来源页面的地址)

或者确保来源页面的域名与当前提交页面的域名一致。

你可能感兴趣的:(post)