运行我的字符串以确保不可能进行 MySQL 注入的最佳功能是什么?
另外,它是否需要在输出时通过另一个函数运行它才能正确显示?
也可以看看
参数真的足以防止 Sql 注入吗?带有子句
的 C# 参数化查询 MySQLin
我可以通过转义单引号和用单引号包围用户输入来防止 SQL 注入吗?
运行我的字符串以确保不可能进行 MySQL 注入的最佳功能是什么?
另外,它是否需要在输出时通过另一个函数运行它才能正确显示?
参数真的足以防止 Sql 注入吗?带有子句
的 C# 参数化查询 MySQLin
我可以通过转义单引号和用单引号包围用户输入来防止 SQL 注入吗?
一个参数函数。
撇开幽默不谈,我的意思是如果可以避免的话,不要将用户输入的内容作为 SQL 动态执行。将所有内容作为参数传递,并从您的查询中引用它们。请参阅Chad Birch 的答案以获得解释此问题的良好链接。
正如 Chad 所说,始终使用参数化查询来避免 SQL 注入。
要回答您问题的后半部分,如果您的输出是网页,则始终转义任何特殊的 HTML 字符(&
, <
, >
)以防止脚本注入。
向参数化查询添加应用程序中输入验证的使用。永远不要相信输入是干净的。核实。例如,如果它应该是一个整数,请检查以确保它可以毫无问题地转换为数值。
在 PHP 中,最好的方法是对字符串使用 HTML 转义。
它将特殊字符转换为 HTML 兼容字符。
示例:“”(空格)转换为“%20”。