php中如何检测ajax跨域请求

2024-03-18

对于普通的ajax请求我使用:

strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'

但这不适用于跨域请求。

我能怎么做?


Edit2:如果您以这种方式使用 jQuery.ajax 函数:

var request = $.ajax({
url: "http://somesite.com/somescript.php?somevar=somevalue",
dataType: "jsonp",
jsonp: 'callback',
success: function(data) {
alert('Done!');
}
});

然后你可以检查$_SERVER['REQUEST_URI']变量,或者简单地$_GET['callback'] and $_GET['_']。 REQUEST_URI 将如下所示:

/somescript.php?somevar=somevalue&callback=jQuery172028849187534502896_1333494007273&_=1333494443880

编辑:下面的答案是查是否跨域,而不是检查是否是AJAX

“如何确定 ajax 调用是否来自不同域”问题的答案是:

我正在使用 jQuery.ajax 调用,对我来说使用变量$_SERVER['HTTP_REFERER']工作正常。

如果我在本地计算机上使用页面,则此超全局返回一个空字符串。

如果我使用互联网上的页面,则值$_SERVER['HTTP_REFERER']返回进行 ajax 调用的页面的 URL。因此,检查此值可以告诉您需要了解的内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

php中如何检测ajax跨域请求 的相关文章

  • XP及PHP MYSQL 练级系统

    我已经查看了所有提出的问题和答案 但我似乎找不到最适合我的答案 我想做的是开发一个系统 当用户达到一定的 XP 限制时 系统会进入下一个级别 它显示了下一个 XP 之前需要多少 XP So lvl1 0 gt lvl2 256 gt lvl
  • 理想的 PHP 会话大小?

    我有一个 PHP 表单 抵押应用程序 大约有 400 个字段 该网站的流量会很低 对于进入 MySQL 数据库的 400 个字段 理想的会话大小是多少 In php ini我要设置什么 我应该设置我缺少的任何内容吗 会话的大小没有限制 但
  • 在Windows上安装php Composer时出现错误

    在安装 Composer 以使用 Laravel 框架时 我遇到了一些错误 Download failed file get contents SSL operation failed with code 1 OpenSSL Error m
  • Zend 如何使用 mod_rewrite 解析前端控制器中的 URL?

    我不明白 Zend Framework 如何控制路由 我实际上正在尝试创建自己的控制器 路由类 编写了与 Zend 建议的 htaccess 相同的代码 以重写位于网站根目录的index php RewriteEngine On Rewri
  • 如何使用 jquery ajax 将锚点的值发送到 php

    我正在尝试使用 jquery 将几个锚点的值发送到 php 文件 但我没有从 php 脚本中得到回调 div class result div a href value class star Star 5 a a href value cl
  • 打印一个模式以显示最多 5 行 5 列的数字,例如 5 4 3 2 1 和下一行 4 3 2 1 5 直到第 5 行

    这是一个正方形图案 每行有 5 列 共有 5 行 图案如下所示 5 4 3 2 1 4 3 2 1 5 3 2 1 5 4 2 1 5 4 3 1 5 4 3 2 我的代码如下以获得模式 但当计数器达到 1 并显示在相应的列值中时 我无法重
  • 如何在 PHP 中运行 shell 脚本?

    我正在尝试使用 PHP 触发 shell 脚本的运行 本质上 当用户在我们用 PHP 编写的网站上完成一个操作时 我们希望触发一个 shell 脚本 该脚本本身调用一个 Java 文件 提前致谢 See shell exec http ph
  • 如何在 Laravel 5 中的视图模板上显示会话数据

    我正在尝试在 Laravel 5 中的视图模板上显示会话数据 但是它似乎没有显示任何内容 这是我用来设置会话的代码 Session set bookingConfirmed BookingDates where id Session get
  • filter_input() 何时删除 POST 变量的斜杠?

    我创建了一个小型 PHP 脚本 它在 PHP 5 2 17 的服务器上运行magic quotes gpc指令已启用 我没有对 php ini 文件的写访问权限 并且我想从用户输入中删除所有斜杠 即使magic quotes gpc指令被关
  • 使用 DateTime 类计算日期差异时出错

    我正在尝试使用 DateTime 类 php gt 5 3 来计算 2 个日期的差异 手册中的示例简单明了 我尝试了该示例并且效果很好 但如果改变开始和结束日期 就会出现问题 this gt start date 2011 03 01 th
  • 无法显示由 Fine-uploader 上传到 Amazon s3 的图像

    我现在尝试设置fineuploader s3以显示在aws服务器上成功上传的文件的图像 如示例页面上所做的那样 http fineuploader com s3 demo http fineuploader com s3 demo 我 仍然
  • Laravel 上传前如何压缩图像?

    我正在制作一个图片库网站 用户可以在其中上传任何图像 它们将显示在前端 我需要在不影响图像质量的情况下压缩图像 以减小图像大小 以便页面加载速度不会影响那么大 我使用以下代码来上传图像 rules array file gt require
  • 无法在 PHPUnit 中使用数据提供程序运行单个测试

    使用命令行运行测试时遇到问题 如果我像这样运行 phpunit phpunit no configuration filter testAdd DataTest DataProviderTest php 效果很好 但是我们使用正则表达式来准
  • 我应该使用排队系统来处理付款吗?

    我在用着Slim https www slimframework com和这个结合Stripe 的 PHP 库 https stripe com docs api php在我的应用程序中处理付款 一切都很好 但是直到最近 我在我的系统中发现
  • 通过复选框选择多行时出错错误未定义索引:复选框

    我想从中选择多行checkbox并想通过单击按钮立即更新它们 我尝试了多种方法 但不起作用 你能帮忙吗 它显示错误为Undefined index checkbox td td
  • 使用 html5 分块上传文件

    我正在尝试使用 html5 的文件 API 分块上传文件 然后在服务器端用 php 重新组装它 我正在上传视频 但是当我在服务器端合并文件时 大小增加了 并且它变成了无效文件 请注意 以下 html5 代码仅适用于 chrome 浏览器 在
  • PHP 中的简单 JSON 请求

    我有以下 json country code latitude 45 9390 longitude 24 9811 zoom 6 address city country Romania country code RO region 我只想
  • 有关于 PHP 中的 V8JS 的文档吗?

    有没有关于V8JS的文档 我是否只需要标准 PHP 或一些扩展即可使用 V8JS 我将非常感谢有关 PHP 中的 V8JS 的任何信息 要求 PHP 5 3 3 和 V8 库和标头安装在正确的路径中 Install http www php
  • 如何更改phpmyadmin MySQL的IP地址?

    我在 xampp 中更改了 apache 的 IP 地址 但无法连接到 MySQL 我认为问题是我的 apache 不在我的数据库的同一网络上 我的 apache 位于 192 168 1 10 而我的 MySQL 位于 127 0 0 1
  • 使用“AND”表达式构建动态 SQL,而不混淆嵌套条件?

    总的来说 我对 php 和编码相当陌生 我有一系列条件需要测试它们是否已设置 它们是 option1 option2 option3 if isset option1 if isset option2 if isset option3 qu

随机推荐

  • 如何将数据从活动传递到正在运行的服务

    我想定期向服务器发送数据 我正在使用后台Service为此 但我想在数据更新时发送 并且我正在获取更新的数据Activity和Service在后台运行 那么我如何将数据传递给运行Service from Activity Using Int
  • 如何在地图图钉注释中显示图像?

    我有一个视图 gt gt 子视图 mkmapview in that i want to show image my current image is like this 我想这样展示 我怎样才能做到这一点 我如何在此注释中添加图像 您正在
  • itertool 和 multiprocessing,如何并行生成所有可能的组合

    我有以下代码 它生成产生给定总和 n 的所有可能组合 然而 对于大数字 n 此代码需要很长时间 有没有办法可以跨多个处理器并行化我的代码 from itertools import combinations with replacement
  • 访问 Pundit 策略中的会话参数

    看来 Pundit 策略不访问会话参数 As 构造不将会话识别为有效的变量或方法 有什么方法可以访问会话或其他参数吗 class MyModelPolicy def create contructs Construct where id s
  • 如何在Python上计算文件中的“test”单词数量?

    我有一个由许多字符串组成的文件 好像 sdfsdf sdfsdfsdf sdfsdfsdf 测试 gggg uff 测试测试ffffffff sdgsdgsdgsdg sdgsdgsdgsdg uuuttt 555555555 ddfdfd
  • 为什么指令高速缓存对齐可以提高组相联高速缓存实现的性能?

    我有一个关于指令缓存对齐的问题 我听说 对于微优化 对齐循环使其适合缓存行可以稍微提高性能 我不明白为什么那会有什么作用 我了解缓存命中的概念及其对计算速度的重要性 但似乎在组关联缓存中 相邻的代码块不会映射到同一个缓存组 因此 如果循环跨
  • 使用 Scenform 将 SceneView 加载到片段中后出现黑屏

    我正在开发一个项目 该项目将在一个片段中包含 3D 模型查看器 为了做到这一点 我决定使用 sceneform 在尝试在我的选项卡片段中显示 SceneView 后 我遇到了 SceneView 的问题 一切都是根据示例和 scenefor
  • 如何在 iPhone 应用程序中保持 Web 服务器的登录状态?

    简而言之 我想要一个 iPhone 应用程序 使用输入的用户名和密码值登录到 Web 服务器 然后维护此登录 以便用户可以将数据 POST 到服务器 这只是使用cookie的问题吗 如果是这样 如何执行检查以验证用户是否已登录 Thanks
  • 如何通过 Maven 或 Gradle 在项目中使用“预览 API”和/或“孵化 API”

    作为当前 Java 增强开发过程的一部分OpenJDK https en wikipedia org wiki OpenJDK项目中 一些正在开发的 Java 新功能以预发布形式提供预览API https openjdk java net
  • Python 请求使用证书值而不是路径

    我正在使用 python 请求模块进行 POST 调用 import requests response requests post foo url json foo bar headers foo headers verify path
  • html 中的工具提示

    我有一个 div 需要使用线条和框 将包含一条消息 进行识别 如下面的模型图像所示 2 和 3 线条和矩形框 彼此固定并且可拖动 1 线条 可以向任意方向拉伸 我已经创建了盒子 但我不知道如何在其上附加一条线 这是我尝试过的 JSFIDDL
  • Powershell:多维数组作为函数的返回值

    我在 PowerShell 中的二维数组方面遇到了一些问题 这就是我想做的 我创建了一个应该返回二维数组的函数 调用该函数时 我希望返回值是一个新的二维数组 为了更好地理解 我添加了一个示例函数 如下 function fillArray
  • HTTP 状态 500 - 实例化 servlet 类 org.springframework.web.servlet.DispatcherServlet 时出错

    请不要将此帖子标记为重复帖子 因为我在相关问题中没有找到任何好的资源 使用的技术 Spring MVC 4 3 3 RELEASE 摇篮3 1 雄猫9 0 我创建了一个动态 Web 项目 当我运行它时 出现以下错误 HTTP Status
  • Java线程安全——多个原子操作?

    我只是一个非开发者 想成为一名开发者 所以我的问题可能非常简单 我只是测试 Java 多线程的东西 这不是真正的代码 我想知道如何在 Java 中同时更新两个成员变量 以防我们希望它们同步 举个例子 public class Testing
  • 选择时列名无效

    我有一张桌子叫Jobs具有以下列名称 JobID Name and Value 该表就像只有一个条目一样被填满 JobID 1 Name 测试工作 Value 10 我想要做select from Jobs where Name TestJ
  • Visual Basic 6 ListView 的自动化支持

    I need to get value text of control via automation interface coding with C C I tried with UI Automation API https msdn m
  • 是什么让GDB拒绝崩溃?

    我在这里不知所措 我正在用 C 编写一个编译器 出于爱好 并使用 GDB 7 3 在 amd64 Linux 2 6 32 上使用 GCC 4 6 1 进行编译 除了通常的 I 等之外 标志还有 Wall Wextra O0 g 我有一个函
  • 无法在 Octave 3.8 Ubuntu 中安装 Octave-forge 其他包

    我是 Octave 的新手 尝试安装 杂项 包以使用 GNU 单元 安装失败 我试过 apt get 安装八度杂项 deb 软件包已安装 但未在 Octave 3 8 中列出 通过 gt gt pkg list 然后我尝试 gt pkg i
  • Derby DB SQL,从行号开始选择行

    如何在 Derby DB 的 SQL 查询中从 X 行到 Y 行进行选择 例如 我想选择第 15 30 行 但不是前 15 行 选择从行号 30 开始的所有行 我尝试了 LIMIT 和 ROWNUM 但它们不起作用 我怎样才能在德比做到这一
  • php中如何检测ajax跨域请求

    对于普通的ajax请求我使用 strtolower SERVER HTTP X REQUESTED WITH xmlhttprequest 但这不适用于跨域请求 我能怎么做 Edit2 如果您以这种方式使用 jQuery ajax 函数 v