在谷歌搜索了很多次后,回答结束了!

步骤1:为所有Web服务生成令牌系统:

生成令牌:

session_start();

$token = md5(rand(1000,9999)); //you can use any encryption

$_SESSION['token'] = $token; //store it as session variable

?>

步骤2:发送Ajax调用时使用它:

var form_data = {

data: $("#data").val(), //your data being sent with ajax

token:'<?php echo $token; ?>', //used token here.

is_ajax: 1

};

$.ajax({

type: "POST",

url: 'yourajax_url_here',

data: form_data,

success: function(response)

{

//do further

}

});

步骤3:现在,让我们用

session_start(); //most of people forget this while copy pasting code ;)

if($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {

//Request identified as ajax request

if(@isset($_SERVER['HTTP_REFERER']) && $_SERVER['HTTP_REFERER']=="http://yourdomain/ajaxurl")

{

//HTTP_REFERER verification

if($_POST['token'] == $_SESSION['token']) {

//do your ajax task

//don't forget to use sql injection prevention here.

}

else {

header('Location: http://yourdomain.com');

}

}

else {

header('Location: http://yourdomain.com');

}

}

else {

header('Location: http://yourdomain.com');

}

注意:对不起,如果…否则嵌套,但它增加了可理解性。

如果不是这样的话,你可以把这三个简化为一个。85%的安全性增强!

ajax请求php省略后缀,如何在PHP中更安全地处理Ajax请求?相关推荐

  1. node 单元测试_如何在Node中模拟对单元测试的请求

    node 单元测试 by Edo Rivai 由Edo Rivai 如何在Node中模拟对单元测试的请求 (How to mock requests for unit testing in Node) ...

  2. php和ajax实现聊天功能,怎么在PHP项目中使用jquery与ajax实现一个即时聊天功能

    怎么在PHP项目中使用jquery与ajax实现一个即时聊天功能 发布时间:2020-12-19 16:19:01 来源:亿速云 阅读:81 作者:Leah 本篇文章给大家分享的是有关怎么在PHP项目 ...

  3. ajax请求时设置cookie,如何在JavaScript中使用AJAX请求设置Cookie值?

    我们需要使用AJAX请求或以任何AJAX请求将这些cookie发送到服务器的方式来设置cookie. 这里要注意的一件事是,对任何远程服务器的每个AJAX请求都会自动将所有cookie发送到该服务器, ...

  4. java curl 使用方法_如何在Java中使用这个cURL POST请求?(Spotify API)

    我需要帮助在Java中发出cURL POST请求(到spotifyapi).我把我的解决办法解释得太离谱了 this article . 基于此,我尝试了以下方法: String command = ...

  5. oracle 并发请求跟踪,在保留在oracle数据库中的同时处理并发请求?

    小编典典 要在网站上处理并发,通常的做法是在每条记录上都有一列,以便您检查自获得以来是否未更新.上次更新日期或顺序版本号(由触发器自动递增). 通常,您将读取数据(加上并发列) SELECT seat ...

  6. 如何在 JavaScript 中更好地使用数组

    本文短小精悍,我保证.在过去的数个月里,我注意到在我审阅的 pull request 中有四个(关于数组使用的)错误经常出现.同时,我自己也会犯这些错误,因此有了这篇文章.让我们一起学习,以确保以后能 ...

  7. javascript字典中添加数组_如何在 JavaScript 中更好地使用数组

    在 freeCodeCamp 社区阅读原文. 本文短小精悍,我保证.在过去的数个月里,我注意到在我审阅的 pull request 中有四个(关于数组使用的)错误经常出现.同时,我自己也会犯这些错误, ...

  8. 在国内如何使用gmail_如何在Gmail中更快地键入电子邮件

    在国内如何使用gmail Most of us always have a pile of emails we've procrastinated about answering. After all ...

  9. 如何在Solr中更好的处理同义词

    当使用Solr来构建搜索引擎的时候,你可能经常会遇到这样的场景:你有一个同义词列表,并且你想用户查询也能够命中到同义词.听起来很简单不是吗?为什么搜索"dog"的时候,不能命中包含 ...

最新文章

  1. PHP生成PDF文档的FPDF类
  2. 背水一战 Windows 10 (65) - 控件(WebView): 对 WebView 中的内容截图, 通过 Share Contract 分享 WebView 中的被选中的内容...
  3. 致所有IT工程师的信(网络工程师的发展方向)
  4. 一文弄懂YOLO目标检测算法
  5. LeetCode Algorithm 589. N 叉树的前序遍历
  6. 前后端分离的思考与实践
  7. 前端学习(667):运算符优先级
  8. java数组 arraylist_JAVA 用数组实现 ArrayList
  9. 南开调整研究生奖助,博士生最高超10万,硕士生6万,可能已经超过他们毕业后能拿的工资!...
  10. 漫画:程序员战力图鉴
  11. 记录一下alibaba cloud boot 版本对应关系
  12. 1-9:学习shell之权限
  13. lambda 对象初始化器 集合初始化器
  14. MVP Open Day小记
  15. oracle sqlplus help,oracle: 安装sqlplus help帮助命令
  16. linux 系统信号忽略和system函数返回值问题(system的实现)
  17. ssm高仿bilibili视频网站
  18. Go避免使用大堆造成的高GC开销
  19. 计算机学术论文shortessay,实用的Academic Essay写作技巧汇总
  20. outlook 签名 设置

热门文章

  1. 英语笔记:写作:Nothing succeeds without a strong will
  2. Fiddler利用Xposed框架+JustTrustMe抓取手机APP数据
  3. 搭建nginx+php后访问不到项目
  4. cmd窗口使用python提示“Python not found”,可能是环境变量配置的原因
  5. mysql磁盘无法挂载,linux – 无法挂载磁盘(VFS:找不到ext4文件系统)
  6. php 上次登陆时间,php使用cookie显示用户上次访问网站日期的方法
  7. python读取url中存储的数据_python 给定URL 如何获取其内容,并将其保存至HTML文档。...
  8. java中的成员变量和局部变量的区别_java中成员变量与局部变量区别分析
  9. php如何设计自定义模型,php – Kohana ORM模型中的自定义方法
  10. Win11如何调整任务栏大小 Win11调整任务栏大小的方法