日期:2014-05-16  浏览次数:20431 次

操蛋,修复BUG,请问怎么修复这个bug
有2个php文件

1.php
<?php
  echo '1';
?>

2.php
<?php
  echo '2';
?>
浏览器里输入
http://localhost/1.php/2.php

会输出 1

,为了省去麻烦,我想直接提示浏览器地址非法,该怎么做?

------解决方案--------------------
但是 http://localhost/1.php/2.php 并不是非法的,为什么要提示非法呢?
其中的 /2.php 将保存在 $_SERVER['PATH_INFO'] 变量中
------解决方案--------------------
正如楼上说的,不是非法。不过,想实现可挺容易的,获取输入url,截取文件名,进行简单判断

  $url = "http://localhost/1.php/2.php";
  $filename = basename($url);
  if($filename != "1.php"){
      echo "<script>alert('地址非法');</script>";
  }

------解决方案--------------------
不清楚用的是什么,建议做一个防跳墙,单以入口

PS:亲,分太低了
------解决方案--------------------
How to verify if website is vulnerable?

If, for example, you use http://www.example.com/admin/ URL to access store admin, try to open http://www.example.com/admin/orders.php/login.php. If you will not see login screen you are in danger!
如何验证网站是脆弱的?

如果,例如,你使用http://www.example.com/admin/的URL来访问存储管理,尝试打开http://www.example.com/admin/orders.php/login.php的。如果你不会看到登录屏幕,你处于危险之中!

而我看到的是

我处于危险之中?
笑话!