当前位置: 首页 > 面试题库 >

为什么在PHP中通过标头('Location ..')重定向后必须调用'exit'?

南宫才英
2023-03-14
问题内容

您知道,如果要在PHP中重定向用户,可以使用标头函数:

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

众所周知,exit;header调用后放置一个“ a”
,以防止执行其他php代码也是一种很好的做法。所以我的问题是:标头位置调用之后的代码能否有效执行?在什么情况下?恶意用户能否完全忽略该header('Location..')呼叫?怎么样?


问题答案:

标头位置调用之后的代码能否有效执行?

是的,总是。的header不仅是数据线 ,要求 浏览器重定向。该页面的其余部分 仍将 由PHP 提供服务
,并且可以通过仅阻止header命令执行来由客户端查看。

wget例如,通过简单地告诉它不要遵循重定向,使用命令行客户端(例如)就足够容易了。

底线:如果您不阻止它,即使在header调用之后,PHP也会发出整个正文。接收者完全可以使用该主体,而无需任何特殊的黑客技巧。



 类似资料:
  • 问题内容: 这是我的档案。我想使其重定向,但是什么也没有发生。为了查看发生了什么,我在标题部分之前添加了回显。 它既不会引发错误,也不会重定向到index.php。怎么了?我已打开/关闭输出缓冲,但是没有任何东西可以使其重定向。我能做什么? 谢谢 问题答案: 我提醒自己,我已经在实际的测试环境中安装了xDebug,在对其进行了搜索之后,我发现了以下站点:http ://bugs.xdebug.or

  • 问题内容: 调用重定向函数标头后,是否应该调用exit? 谢谢 问题答案: 你绝对应该。否则脚本执行不会终止。仅设置另一个标头不足以重定向。

  • 问题内容: 我有一个简单的用户登录/注册系统 我最近看了一个关于交和,不知道,我本来应该使用这些。据我了解,它们使PHP终止了吗?那是对的吗?我可以解决此问题的最好方法是,直接在everHeader()之后直接添加这些函数之一;我有死刑吗? 我有AJAX,jQuery通过我的login.php / register.php阅读,这会以任何方式受到影响吗? 编辑:除了header()之后,我还应该在

  • 问题内容: 对于横幅广告管理系统,我使用 重定向到正确的网站。是否可以强制此标头脚本在新窗口中打开? 问题答案:

  • 问题内容: 每个人都告诉我“使用super.viewDidLoad()因为它就是这样”或“我一直那样做,所以要保留它”,“如果不叫super就是错误的”等。 我只发现了一些有关Objective-C用例的主题,这些主题并没有那么启发性,但是我正在Swift 3中进行开发,所以有什么专家可以给我一个很好的详细解释吗? 这是一种良好实践的案例还是有任何隐藏的影响? 问题答案: 通常,最好为您覆盖的所有

  • 问题内容: 我正在执行以下ajax调用: 这是我的PHP: 创建销售后,我想重定向到addcust.php?New_sale = $ sale_id 我该怎么做? 问题答案: 您成功重定向: 无论您从PHP脚本回显什么,都将在中。因此,echo ,您将获得您的URL。