php判断ajax传入,利用PHP判断是否为AJAX请求代码
对于一些API接口,通常检测是否为AJAX请求,一定程度上能提高下安全性。
先说前端使用 jQuery 时怎么区分:
jQuery 发出 ajax 请求时,会在请求头部添加一个名为 X-Requested-With 的信息,信息内容为:XMLHttpRequest
在后端可以使用 $_SERVER["HTTP_X_REQUESTED_WITH"] 来获取。(注意:中划线换成了下划线,不区分大小写)
由此,我们可以这样来判断是否为 ajax 请求:
// php 判断是否为 ajax 请求
if(isset($_SERVER["HTTP_X_REQUESTED_WITH"]) && strtolower($_SERVER["HTTP_X_REQUESTED_WITH"])=="xmlhttprequest"){
// ajax 请求的处理方式
}else{
// 正常请求的处理方式
};
在使用原生 JavaScript 发出 ajax 请求时,我们也可以给头部添加信息,以方便后端同学进行区分,方法如下:
var xmlhttp=new XMLHttpRequest();
xmlhttp.open("GET","test.php",true);
xmlhttp.setRequestHeader("X-Requested-With","XMLHttpRequest");
xmlhttp.send();
这里我们也一样是给头部添加 X_REQUESTED_WITH 信息,与 jQuery 的一致。当然你也可以更改为别的信息来进行区分。
php判断ajax传入,利用PHP判断是否为AJAX请求代码相关推荐
- php 判断是否文件,利用PHP判断文件是否为图片的方法总结
前言 在网页设计中,如果需要图片,我们通常拿到的是一个图片的文件名.仅仅通过文件名是无法判断该文件是否是一个图片文件的.或许有的人以为通过后缀名就可以判断,别忘了文件的后缀名是可以随便改动的.更何况, ...
- 利用$ajax实现远程登录判断
利用$ajax实现远程登录判断 <script> $(function(){ var loginChage; loginChage = $ ...
- 函数的相关操作——利用函数翻转任意数组||利用函数冒泡排序||利用函数判断闰年
利用函数翻转任意数组 利用函数冒泡排序 利用函数判断闰年 用户输入年份,输出当前年份2月份的天数
- java判断是否第一次出现_利用java判断字符首次出现的位置,java替换最后一个特定字符...
利用java判断字符首次出现的位置利用爪哇判断字符首次出现的位置, 目的: (学习视频分享:java视频教程 实现代码如下: 导入Java.util.收藏品: 导入Java.util.LinkedLi ...
- Python(65)_写函数,判断用户传入列表的长度,若大于2,则仅保留前两个长度的内容,并将其返回给调用者...
#-*-coding:utf-8-*- ''' 写函数,判断用户传入列表的长度,若大于2,则仅保留前两个长度的内容,并将其返回给调用者 ''' def func(l):return l[:2] # 其 ...
- c语言c判断字符数字,c语言问题求教 利用函数判断字符串中是否全为数字
c语言问题求教 利用函数判断字符串中是否全为数字 答案:4 信息版本:手机版 解决时间 2018-12-22 19:42 已解决 2018-12-22 08:52 c语言问题求教 利用函数判断字符串 ...
- ajax实现注册用户名时动态显示用户名是否已经被注册(1、ajax可以实现我们常见的注册用户名动态判断)(2、jquery里面的ajax也是类似我们这样封装了的函数)...
ajax实现注册用户名时动态显示用户名是否已经被注册(1.ajax可以实现我们常见的注册用户名动态判断)(2.jquery里面的ajax也是类似我们这样封装了的函数) 一.总结 1.ajax可以实现我 ...
- 人工智能数学基础:利用导数判断函数单调性、凹凸性、极值、最值和描绘函数图形
一.单调性判断定理 定理: 设函数y=f(x)在[a,b]上连续,在(a,b)内可导. (1)如果在(a,b)内f(x)≥0,且等号仅在有限多个点处成立,那么函数y=f(x)在[a,b]上单调增加; ...
- 利用正交变换判断二次曲面类型
利用正交变换判断二次曲面类型 正交变换是欧式空间保持向量内积不变的线性变换.不仅保持向量的长度不变,而且还保持向量 的夹角不变.二维或三维空间中的旋转变换.关于某一条直线或平面的对称变换都是正交变换. ...
最新文章
- SAP外币评估 fagl_fc_val 多评估与少评估问题
- 光速OFFER,为AI奔赴,商汤2022届校招提前批正式启动!
- 【学习笔记】抽象队列同步器AQS应用之BlockingQueue详解
- 读取csv绘制直方图_[python]用tushare接口绘制Bollinger Bands
- 成都理工大学c语言复试,2020年成都理工大学信号与信息处理考研真题试卷及试题答案,C语言程序设计考研试题下载...
- oracle备份磁盘头,oracle asm 磁盘头数据以及备份与恢复基础篇(2)
- Ansible批量在远程主机执行命令
- redis哨兵主从不切换_《「面试突击」—Redis篇》-- Redis的主从复制?哨兵机制?...
- igmp是哪个层协议_【干货】IGMPv1协议闲聊
- cad中计算机的快捷键,CAD常用快捷键汇总
- 基于微信公众号测试号进行微信授权登陆
- 三分钟看完北京城市(含京津冀)【总体规划2016-2050】
- c语言很简单只要一节课,计算机二级C语言考什么
- Python 从入门到放弃(三)
- 朋友圈一杠中间一个点_朋友圈只显示一条线 中间一个点 是被删除了么
- 【Web技术】前端水印实现方案
- Google Cast
- 嵌入式系统驱动高级【5】——input子系统
- 原型的概念以及为什么使用原型
- 餐饮店搭建会员营销系统有哪些优势?
热门文章
- ssm练手小项目_20 个 JavaScript+Html+CSS 练手的小项目
- mysql innodb 间隙锁_Mysql innodb 间隙锁
- python numpy库_numpy库学习总结(基础知识)
- 深度相机_深度相机(TOF)的工作原理
- hnu实验五 排队喝水
- 2020统计局的行政划分表_湖州市有几个区和县?湖州市2020年县级以上区划名单...
- Tensorflow:TensorFlow基础(一)
- 算法导论 思考题6-2
- Python监控文件变化:watchdog
- 【JVM】强引用、软引用、弱引用、虚引用分别是什么