我使用一个简单的PHP脚本来运行在线漫画,它基本上使用GET取整数值n并为n .jpg 插入img标签.除了确保存在n .jpg 之外,它不会进行任何消毒或错误检查.与脚本的唯一用户交互是通过此GET进行的,另一个用字符串执行相同操作以手动显示不同的模板以进行测试.
我的问题是,我是否应该担心注射?如果是这样,我应该怎么做才能防止它呢?到目前为止我发现的所有内容都只涉及MySQL注入,在这种情况下不适用.
如果您没有使用数据库,那么显然SQL注入不是您的问题.同样,如果您不存储任何用户提交的数据以显示给其他用户,则不需要考虑跨站点脚本.这会留下类似eval()
或运行外部进程的东西,攻击者可能会破坏它们,但听起来你也不会像这样做.
所以你可能很安全.尽管如此,最好还是进行最少量的错误检查才能养成习惯.例如,您说您有一个整数GET参数.没有这样的事情 - 所有HTTP参数都是隐含的字符串.PHP模糊了这种区别,但你肯定应该明确地将它强制转换为int,以确保它不是一些旨在利用XSS,SQL注入或eval漏洞的字符串(即使没有这样的存在).