正则表达式是否足以处理脚本注入?

oYe*_*Yes 0 php

您认为还有什么其他方法可以防止表单注入,URL注入或任何其他类型的注入?

对代码不太具体,只是大局.

Car*_*rós 5

过滤您的输入/验证您的输出

而已.为了避免脚本注入或任何其他类型的跨站点脚本,您需要确保作为文本的一部分在网页上显示的任何字符不是5个特殊html字符中的任何一个.用于htmlspecialchars将它们编码为等效的html实体(正常显示,但不由html引擎处理):

  • &成为&
  • >变成>
  • <变成<
  • '变成'
  • "成为"

对于SQL注入的原理是一样的,避免在查询中特殊的SQL字符,请使用mysql_real_escape_string,mysqli_real_escape_string,pg_escape_string,PHP Data Objects (PDO)或准备语句.

要避免shell命令注入,您需要避免使用另一组字符.使用escapeshellcmdescapeshellarg.

对于其他媒体,涉及其他角色,还需要其他功能.有人在评论中说,没有银弹.