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是当前提交页面的来源页面的地址)
或者确保来源页面的域名与当前提交页面的域名一致。