con*_*gan 3 php regex validation sql-injection server-side
我目前有一个相当强大的服务器端验证系统,但我正在寻找一些反馈,以确保我已涵盖所有角度.以下是我正在做的事情的简要概述:
确保输入不为空或太长
转义查询字符串以防止SQL注入
使用正则表达式来拒绝无效字符(这取决于提交的内容)
编码某些html标记,例如<script>(所有标记在存储在数据库中时都会被编码,有些标记在查询时会被解码以在页面中呈现)
有什么我想念的吗?代码示例或正则表达式欢迎.
小智 8
您不应该"转义"查询字符串以防止SQL注入 - 您应该使用预准备语句.
理想情况下,您的输入过滤将在任何其他处理之前发生,因此您知道它将始终使用.因为否则你只需要错过一个易受问题影响的地方.
不要忘记在输出上编码HTML实体 - 以防止XSS攻击.