嗨我的PHP项目用户通过表单输入发送主题的名称(这是一个电报桌面主题制造商)。 (该项目在github上托管Github Project) 问题是: 我在主题名称中使用此用户可能访问服务器上的任何文件夹。 我试图用这个承诺纠正:Github commit用户输入中的路径注入
$theme_name = str_replace("/", "_badyou_", $_GET["name"]); //contains the good themename
我需要的只是名字,所以我认为,消除“/”是不够的。 但我需要一个真正了解php的人比我更好的意见。
P.S抱歉,我的英语不好。 预先感谢您。
你的代码是否有一个机制向用户通知错误?我认为,让每个人都可以更容易地拒绝错误输入,而不是随意更改用户输入;更不用说黑名单方法注定要失败。 –