我意识到这有点危险,所以这是目前的程序:
1)解析使用PHP pathinfo提供的路径,并将路径分解为适当转义的部分(主机,文件名,扩展名).
2)执行图像标题的curl请求,如下所述:How can one check to see if a remote file exists using PHP?并验证它是否具有有效的png或jpg mime类型和HTTP 200返回码.
3)验证文件名和扩展名(来自上面的pathinfo)是一个有效的png或jpg文件(我不接受GIF等)
4)最后,将图像路径数据存储在DB的多个列中(转义数据)
我错过了什么吗?还有潜伏的危险吗?我想也许我应该在显示器端重新进行卷曲功能,以确保图像仍在那里并且它仍然是图像.
谢谢你的建议.
解决方法:
确保它不是驴色情片?
……说真的,我唯一能想到的是它是一个脚本/ exe / bin,它将图像输出到屏幕上(想想PHP / GD),但同时在后台做了其他事情.
例如,CAPTCHAs输出图像,但可以通过调用< img src =“/ img / captcha.PHP”... />来同时(在幕后)在会话中存储“正确答案”. .
没有理由不能使用mod_rewrite用< img src =“/ img / captcha.jpg”... />来调用相同的PHP脚本.可以设置HTTP标头以将MIME类型报告为“image / jpg”,响应为200.