Maison >développement back-end >tutoriel php >操蛋,修复BUG,请问怎么修复这个bug

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

WBOY
WBOYoriginal
2016-06-23 14:27:331320parcourir

有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的。如果你不会看到登录屏幕,你处于危险之中!

而我看到的是

我处于危险之中?
笑话!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn