你知道如果你想在 PHP 中重定向一个用户你可以使用 header 函数:
header('Location: http://smowhere.com');
众所周知,在 header
调用之后也放置一个 exit;
是一种很好的做法,以防止执行其他 php 代码。所以我的问题是:header-location 调用之后的代码能否有效执行?在哪些情况下?恶意用户能否完全忽略 header('Location..')
调用?怎么样?
最佳答案
could the code after the header-location call be effectively executed?
是的,总是。 header
只是一行数据要求浏览器重定向。页面的其余部分仍将由 PHP 提供,客户端可以通过简单地阻止 header
命令执行来查看。
使用像 wget
这样的命令行客户端很容易做到这一点,例如,只需告诉它不要遵循重定向。
底线:如果你不阻止它,即使在 header
调用之后,PHP 也会发出整个正文。接收者完全可以使用该主体,无需任何特殊的黑客技能。
关于php - 为什么我必须在 PHP 中通过 header 'exit' 重定向后调用 ('Location..' )?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2747791/