Heim >Backend-Entwicklung >PHP-Tutorial >操蛋,修复BUG,请问怎么修复这个bug

操蛋,修复BUG,请问怎么修复这个bug

WBOY
WBOYOriginal
2016-06-23 14:27:331310Durchsuche

有2个php文件

1.php
  echo '1';
?>

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

会输出 1

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


回复讨论(解决方案)

但是 http://localhost/1.php/2.php 并不是非法的,为什么要提示非法呢?
其中的 /2.php 将保存在 $_SERVER['PATH_INFO'] 变量中

但是 http://localhost/1.php/2.php 并不是非法的,为什么要提示非法呢?
其中的 /2.php 将保存在 $_SERVER['PATH_INFO'] 变量中
有安全隐患,因为我在做国外的网店系统,一个类似BUG,可以绕过登录
http://www.crehelp.com/cre-loaded-vulnerability-check-you-are-affected-pg-7.html
直接看订单情况。
还不知怎么修复呢

正如楼上说的,不是非法。不过,想实现可挺容易的,获取输入url,截取文件名,进行简单判断

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

正如楼上说的,不是非法。不过,想实现可挺容易的,获取输入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的。如果你不会看到登录屏幕,你处于危险之中!

而我看到的是

我处于危险之中?
笑话!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn