Php 重定向,除非从jQuery调用页面
我有一个通过jQuery调用动态加载到另一个页面的页面。我想要的是使加载的页面仅在jQuery调用时才可访问,如果直接从浏览器地址栏访问,则重定向该页面。Php 重定向,除非从jQuery调用页面,php,jquery,redirect,Php,Jquery,Redirect,我有一个通过jQuery调用动态加载到另一个页面的页面。我想要的是使加载的页面仅在jQuery调用时才可访问,如果直接从浏览器地址栏访问,则重定向该页面。 我该怎么做 谢谢 我可能会在JQuery调用时设置一些vale-querystring。然后在加载新页面时,我会检查该值是否存在。如果该值存在,则继续加载页面,否则重定向。向页面发送请求时,在jquery中添加自定义http标头,并在页面中检查标头。您可以在请求中添加参数。例如jquery=true 通过这种方式,您不会强制用户不会通过传递此
我该怎么做
谢谢 我可能会在JQuery调用时设置一些vale-querystring。然后在加载新页面时,我会检查该值是否存在。如果该值存在,则继续加载页面,否则重定向。向页面发送请求时,在jquery中添加自定义http标头,并在页面中检查标头。您可以在请求中添加参数。例如
jquery=true
通过这种方式,您不会强制用户不会通过传递此参数直接从地址栏打开,但您可以适当地处理这两种情况。如果请求是ajax请求,包括使用jQuery发出的请求,则将设置以下内容:
$_SERVER['HTTP_X_REQUESTED_WITH']
你不能可靠地做到这一点。原因很简单:一切都可能是伪造的 自定义HTTP头可能也可能不总是工作良好,因为某些防火墙会剥离所有未知头。因此,从始终工作的角度来看,这是不可靠的。甚至可以使用FireFox扩展名“篡改数据”之类的工具手动将它们添加到请求中。。。因此,从始终重定向的角度来看,它也不可靠 参数不起作用,因为知道它们在做什么的人很容易伪造它们。因此,从不被jQuery调用时始终重定向的角度来看,它是不可靠的 如果只是为了方便起见(不是从安全的角度来看),请使用请求参数。如果您是为了安全而使用它,我建议您提出另一种设计,因为您无法从客户端强制执行任何内容