文章来自:php自学中心
作者:phper
点击加入:PHP自学中心技术交流微信群
商务合作: 请加微信(QQ):2230304070
视频教程分享
1 四大框架(tp,laravel,yii2,ci3)
公众号里回复:201902292 Git&GitHub视频教程 公众号里回复:gitnnnx3 Vue2.5核心技术源码分析 公众号里回复:190822014 Vue实战项目电商管理系统链接:http://www.mano100.cn/thread-1680-1-1.html5 uni-app入门到实战 以项目为导向 掌握完整开发流程链接:http://www.mano100.cn/thread-1681-1-1.html6 Django高级实战 开发企业级问答网站链接:http://www.mano100.cn/thread-1682-1-1.html
精选文章正文
针对伪造的数据从URL提交的情况,首先是要防止站外提交的数据,下面提供一个方法。如下代码:/*PHP防止站外提交数据的方法*/function CheckURL(){
$servername=$_SERVER['SERVER_NAME'];
$sub_from=$_SERVER["HTTP_REFERER"];
$sub_len=strlen($servername);
$checkfrom=substr($sub_from,7,$sub_len); if($checkfrom!=$servername){die("警告!你正在从外部提交数据!请立即终止!");
}
}
这个方法只能防止手动在浏览器地址栏上输入的URL。比如你在做一个刷红包的活动,刷红包的api接口。。。
更好的防止方法
事实上只要在服务器上构造出一个指向该URL的超链接(www.startphp.cn/)比如在发贴时加入超链,再点击,这个Check就完全不起作用了。
个人觉得还是用POST的方法传递重要数据比较可靠。可以在form中插入一些隐藏的text用于传递数据。
或者使用下面的方法,利用Ajax从客户端向服务器提交数据。
/*创建XHR对象*/
以上是个人的方法,如果你有更好的方法,不妨留言!
以上是本文的全部内容,希望对大家的学习有帮助,也希望大家多多支持 php自学中心 ,学习与交流少不了一个圈子,点击加技术群:PHP自学中心交流②群