Php获取导航

Php获取导航,php,Php,嗨 我使用GET方法在我的一个网站上导航。问题是一些肮脏的爱因斯坦创建了一个链接,该链接调用另一个域: 有没有一个脚本,我可以用来阻止这种虐待 谢谢。如果请求的页面存在,只需签入脚本,如 // allowed get parameters for product $whiteList = array( 'tvs', 'toys', ); $menu = $_GET['products']; if (! in_array($menu, $whiteList) { // for

我使用GET方法在我的一个网站上导航。问题是一些肮脏的爱因斯坦创建了一个链接,该链接调用另一个域:

有没有一个脚本,我可以用来阻止这种虐待


谢谢。

如果请求的页面存在,只需签入脚本,如

// allowed get parameters for product
$whiteList = array(
   'tvs',
   'toys',
);

$menu = $_GET['products'];

if (! in_array($menu, $whiteList) {
   // forward to inde
} else {
  // forward to requested page
}

如果请求的页面存在,只需签入脚本,如

// allowed get parameters for product
$whiteList = array(
   'tvs',
   'toys',
);

$menu = $_GET['products'];

if (! in_array($menu, $whiteList) {
   // forward to inde
} else {
  // forward to requested page
}

你是这样使用导航的吗

如果你没有重定向任何人,我的意思是如果你没有使用

然后检查字符串是否以http开头

可能有助于:

例:


你是这样使用导航的吗

如果你没有重定向任何人,我的意思是如果你没有使用

然后检查字符串是否以http开头

可能有助于:

例:


您还需要检查它是否以ftp、rss、ssl或任何其他协议开始,因此这不是真正的解决方案这是错误的解决方案,唯一安全的方法是对照白名单进行检查,而不是根据规则排除。黑名单在这种情况下不起作用。最好使用一个允许页面的白名单看看ArneRie的答案谢谢各位,你们所有的回答都很有用-继续编码!您还需要检查它是否以ftp、rss、ssl或任何其他协议开始,因此这不是真正的解决方案这是错误的解决方案,唯一安全的方法是对照白名单进行检查,而不是根据规则排除。黑名单在这种情况下不起作用。最好使用一个允许页面的白名单看看ArneRie的答案谢谢各位,你们所有的回答都很有用-继续编码!您使用GET变量做什么?将其放入文件\u get\u contents或include/require,或重定向?使用get变量做什么?将其放入文件\u get\u contents或include/require或重定向?甚至不需要白名单,一个简单的文件\u exists或is\u file就可以了,尽管这可能取决于服务器的设置。@Duroth这不是真的,URI可以被解析为调用函数或其他任何东西,而不仅仅是按文件的全名包含文件。甚至不需要白名单,一个简单的文件\u存在或是\u文件就可以了,尽管这可能取决于服务器的设置。@Duroth这不是真的,URI可以被解析为调用函数或其他任何东西,而不仅仅是通过文件的全名包含文件。