当前位置: 首页 > 编程笔记 >

php防止伪造的数据从URL提交方法

卫弘图
2023-03-14
本文向大家介绍php防止伪造的数据从URL提交方法,包括了php防止伪造的数据从URL提交方法的使用技巧和注意事项,需要的朋友参考一下

针对伪造的数据从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。
事实上只要在服务器上构造出一个指向该URL的链接(比如在发贴时加入超链),再点击,这个Check就完全不起作用了。

目前觉得还是用POST的方法传递重要数据比较可靠。
可以在form中插入一些隐藏的text用于传递数据。
或者使用下面的方法,利用Ajax从客户端向服务器提交数据。

/*创建XHR对象*/
function createXHR()
{
  if (window.XMLHttpRequest){
    var oHttp = new XMLHttpRequest();
    return oHttp;
  } 
  else if (window.ActiveXObject){
    var versions = ["MSXML2.XmlHttp.6.0","MSXML2.XmlHttp.3.0"];
    for (var i = 0; i < versions.length; i++){
      try {
        var oHttp = new ActiveXObject(versions[i]);
        return oHttp;
      } catch (error) {}
    }
  }
  throw new Error("你的浏览器不支持AJAX!");
}
/*用AJAX向page页面传递数据*/
function ajaxPost(url,query_string='')
{
  var xhr;
  xhr = createXHR();
  xhr.open('POST',url,false);
  xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=gb2312");
  xhr.onreadystatechange = function(){if (xhr.readyState == 4)if (xhr.status != 200)return;}
  xhr.send(query_string);
}
 类似资料:
  • 如果我为MyCompany.com购买了一个证书,并且得到了一个由Verisign签名的有效证书,那么是什么阻止我生成一个由MyCompany签名的另一个Company.com的假证书呢? 做一个中间人攻击阻止我为OtherCompany.com签发由mycompany签名的假证书,并将我的有效证书作为中间CA证书。

  • 本文向大家介绍PHP防止post重复提交数据的简单例子,包括了PHP防止post重复提交数据的简单例子的使用技巧和注意事项,需要的朋友参考一下 在某帝国面试的时候问题了这个题: 怎么处理post提交重复的问题, 后来跟@暖阳交流,他说记录时间,我没有明白,我想的是用session在表单页面记录下,然后提交页面判断,如果相等则视为成功,并清空session,但有个问题是如果表单页面是html的呢,乍

  • 本文向大家介绍php防止站外远程提交表单的方法,包括了php防止站外远程提交表单的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php防止站外远程提交表单的方法,分享给大家供大家参考。具体实现方法如下: 一般来说防止站长提交表单无非就是对每一次打开表单或提交数据都会需要加一个token来进行验证了,这个其实与验证码做法没什么两样了,下面来看几个防止站外远程提交表单的例子。 例子一:我

  • 本文向大家介绍php 伪造HTTP_REFERER页面URL来源的三种方法,包括了php 伪造HTTP_REFERER页面URL来源的三种方法的使用技巧和注意事项,需要的朋友参考一下 php获取当前页面的前一个页面URL地址,即当前页面是从哪个页面链接过来的,可以使用$_SERVER['HTTP_REFERER'],但是这个来源页面的URL地址是可以被伪造和欺骗的,本文章向大家介绍伪造HTTP_R

  • 本文向大家介绍php 防止表单重复提交两种实现方法,包括了php 防止表单重复提交两种实现方法的使用技巧和注意事项,需要的朋友参考一下 php 防止表单重复提交 由于网络原因,经常出来点了提交按钮,网页没有反应,而进行再次点击。这样就导致后台收到两次提交,从而进行两次处理,本文章向大家介绍php 防止表单重复提交的几种方法 1、前端解决 方法一: 可以通过前端来解决。当用户点了提交按钮之后,先使用

  • 在本节中,我们将学习如何保护交付方法。使用XArp或静态ARP表等工具来防止中间人攻击,避免不知道的网络。另一个预防措施是确保在下载更新时使用HTTP。这将降低下载虚假更新的风险。 我们将学习另一个有用的工具,即WinMD5。当程序的签名或校验和以任何方式被修改时,该程序将提醒我们,这表明该文件不是原始文件。为了检查,我们将下载并运行WinMD5,我们可以在其中比较文件的签名和校验和。如果签名和校