针对伪造的数据从URL提交的情况,首先是检查前一页来源,这个方法只能防止手动在浏览器地址栏上输入的URL,目前觉得还是用POST的方法传递重要数据比较可靠,针对伪造的数据从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的超链接(www.webmy.cn)比如在发贴时加入超链,再点击,这个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);

}

php 防止url输入,php防止伪造数据从地址栏URL提交的方法相关推荐

  1. php防止伪造数据,PHP_php防止伪造的数据从URL提交方法,针对伪造的数据从URL提交的情 - phpStudy...

    php防止伪造的数据从URL提交方法 针对伪造的数据从URL提交的情况,首先是一个检查前一页来源的如下代码: /*PHP防止站外提交数据的方法*/ function CheckURL(){ $serv ...

  2. 面试必考-从URL输入到页面展现到底发生了什么

    作者:浪里行舟 链接:https://github.com/ljianshu/Blog/issues/24 前言 打开浏览器从输入网址到网页呈现在大家面前,背后到底发生了什么?经历怎么样的一个过程?先 ...

  3. 【ASP.NET Web API教程】5.2 发送HTML表单数据:URL编码的表单数据

    注:本文是[ASP.NET Web API系列教程]的一部分,如果您是第一次看本系列教程,请先看前面的内容. 5.2 Sending HTML Form Data 5.2 发送HTML表单数据 本文引 ...

  4. data类型的Url格式:把小数据直接嵌入到Url中

    原文地址: data类型的Url格式:把小数据直接嵌入到Url中 所谓"data"类型的Url格式,是在RFC2397中提出的,目的对于一些"小"的数据,可以在 ...

  5. 计算机硕士论文质疑数据不够,硕士论文伪造数据 抽检_硕士论文编数据的后果_硕士论文数据造假怎么被发现...

    如何举报兰州大学硕士生硕士论文学术造假 本人兰大新生,院长讲话时只提了三个方面1.要敢于挑战学术权威,思维要活跃.2.要坚持实验记录实事求是,不能伪造数据.3.最后一个就是不能学术造假,我校某院的某硕 ...

  6. 有5个学生,每个学生的数据包括学号、姓名、三门课的成绩,从键盘输入5个学生数据,要求打印出三门课总平均成绩,以及最高分的学生的数据(包括学号、姓名、三门课的成绩、平均分数)。VS2019版

    思路:用一个inPut函数输入5个学生数据:用一个average函数求总平均分:用max函数找出最高分学生数据:总平均分和最高分的学生的数据都在主函数中输出 #include<stdio.h&g ...

  7. 进阶1·调用高德API获取交通数据(多个URL访问,字典提取,while无限循环下的程序间断运行)

    调用高德开放API获取实时交通数据 想法及思路 现在大型网站都提供了好多开放API,根据这些开放API可以做一些比较有趣的东西,本次调用高德开放api实时获取你想知道的道路拥堵状况 工具及技术: Py ...

  8. 小王利用计算机设计了一个计算程序,小王利用计算机设计了一个计算程序,输入和输出的数据如下表:那么,当输入数据是8时,输出的数据是[]A.B.C.D.-七年级数学...

    题文 小王利用计算机设计了一个计算程序,输入和输出的数据如下表: 那么,当输入数据是8时,输出的数据是 [     ] A. B. C. D. 题型:单选题  难度:中档 答案 C 据专家权威分析,试 ...

  9. 从键盘输入50个学生数据,打印出每门课的平均成绩

    有50个学生,每个学生的数据包括学号.姓名.3门课的成绩,从键盘输入50个学生数据,要求打印出每门课的平均成绩,以及三门课总分最高的学生的数据(包括学号.姓名.3门课的成绩,三门课的总分). #inc ...

最新文章

  1. R语言进行dataframe数据内连接(Inner join):使用R原生方法、data.table、dplyr等方案
  2. C++设计模式 之 “组件协作”模式:Template Method、Strategy、Observer
  3. 朴素贝叶斯 python 实现
  4. 关键字提取_从杂乱无章的表格中找出关键字,批量提取字符
  5. 智能卡检测控制系统检测m1这么操作_土壤检测实验室仪器设备配置方案
  6. [Visual Studio+TFS--强大的项目管理工具]
  7. vue路由query和params的区别
  8. Java对象序列化的本机C / C ++类似性能
  9. 优秀Java开发者都在看的书籍
  10. 关于跨域问题的解决办法
  11. 【ES】分布式调度系统之 Elastic-Job-Lite
  12. 春节海报背景素材,喜庆中国味!
  13. 【交换机】配置RNStrack的功能原理是什么?
  14. MySQL的odbc驱动 下载及安装
  15. 为什么C++静态static函数不能访问非静态成员
  16. MyBatis笔记二:配置
  17. php-mvc模式(2)
  18. 经典的破解安全论坛,你会在这些论坛学习更多的知识。
  19. 技嘉B85升级BIOS并安装Win11
  20. 看完20部电影,你可以去任何一家公司做董事长或总经理

热门文章

  1. Python+matplotlib设置y轴标签距离、位置、竖排
  2. Python使用turtle绘制阴阳鱼图案
  3. Python使用递归对任意嵌套列表进行扁平化
  4. ipython版本_1. Python版本的选择与安装
  5. double 最大_LeetCode 1610—可见点的最大数目
  6. 多域名linux面板,宝塔面板操作多个域名做301跳转
  7. csv java 科学计数法_javaweb开发页面数字过长显示科学计数法的问题
  8. php 检查语法命令,php语法检查的方法有哪些?(代码示例)
  9. vs code配置python环境mac_Mac下搭建基于VSCode的Python开发环境
  10. c语言case label,an enum switch case label must be the unqualified name of an enumeration constant