通过$ _GET注册位置标头的php安全性

Hin*_*wen 3 php security

我的页面上有这个代码:

header("Location: $page");

$ page作为GET变量传递给脚本,我需要任何安全性吗?(如果是的话)

我打算只使用addslashes(),但这会填充URL ...

sou*_*rge 8

如果我让他们点击链接,可以将你的用户转发到任何喜欢的地方,这绝对是一个很大的安全漏洞(请登录www.yoursite.com?page=badsite.com).现在想想badsite.com看起来与您的网站完全一样的情况,除了它捕获用户的凭据.

最好$urls在代码中定义数组并仅将索引传递给该数组中的条目,例如:

$urls = array(
    'pageName1' => '/link/to/page/number/1',
    'pageNumber2' => '/link/to/page/number/2',
    'fancyPageName3' => '/link/to/page/number/3',
);
# Now your URL can look like this:
# www.yoursite.com?page=pageName1
Run Code Online (Sandbox Code Playgroud)