Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 重定向,除非从jQuery调用页面_Php_Jquery_Redirect - Fatal编程技术网

Php 重定向,除非从jQuery调用页面

Php 重定向,除非从jQuery调用页面,php,jquery,redirect,Php,Jquery,Redirect,我有一个通过jQuery调用动态加载到另一个页面的页面。我想要的是使加载的页面仅在jQuery调用时才可访问,如果直接从浏览器地址栏访问,则重定向该页面。 我该怎么做 谢谢 我可能会在JQuery调用时设置一些vale-querystring。然后在加载新页面时,我会检查该值是否存在。如果该值存在,则继续加载页面,否则重定向。向页面发送请求时,在jquery中添加自定义http标头,并在页面中检查标头。您可以在请求中添加参数。例如jquery=true 通过这种方式,您不会强制用户不会通过传递此

我有一个通过jQuery调用动态加载到另一个页面的页面。我想要的是使加载的页面仅在jQuery调用时才可访问,如果直接从浏览器地址栏访问,则重定向该页面。
我该怎么做


谢谢

我可能会在JQuery调用时设置一些vale-querystring。然后在加载新页面时,我会检查该值是否存在。如果该值存在,则继续加载页面,否则重定向。

向页面发送请求时,在jquery中添加自定义http标头,并在页面中检查标头。

您可以在请求中添加参数。例如
jquery=true


通过这种方式,您不会强制用户不会通过传递此参数直接从地址栏打开,但您可以适当地处理这两种情况。

如果请求是ajax请求,包括使用jQuery发出的请求,则将设置以下内容:

$_SERVER['HTTP_X_REQUESTED_WITH']

你不能可靠地做到这一点。原因很简单:一切都可能是伪造的

自定义HTTP头可能也可能不总是工作良好,因为某些防火墙会剥离所有未知头。因此,从始终工作的角度来看,这是不可靠的。甚至可以使用FireFox扩展名“篡改数据”之类的工具手动将它们添加到请求中。。。因此,从始终重定向的角度来看,它也不可靠

参数不起作用,因为知道它们在做什么的人很容易伪造它们。因此,从不被jQuery调用时始终重定向的角度来看,它是不可靠的

如果只是为了方便起见(不是从安全的角度来看),请使用请求参数。如果您是为了安全而使用它,我建议您提出另一种设计,因为您无法从客户端强制执行任何内容