运行我的字符串以确保无法注入MySQL的最佳功能是什么?
此外,它是否需要在出路时通过另一个功能运行才能使其正确显示?
Are Parameters really enough to prevent Sql injections?
C# Parameterized Query MySQL within
clause
Can I protect against SQL Injection by escaping single-quote and surrounding user input with single-quotes?
答案 0 :(得分:15)
答案 1 :(得分:1)
参数功能。
除了幽默之外,我的意思是如果你可以完全避免它,不要动态地将用户输入的内容作为SQL执行。将所有内容作为参数传递,并从查询中引用它们。请参阅Chad Birch's answer以获取解释此信息的良好链接。
答案 2 :(得分:0)
正如Chad所说,始终使用参数化查询来避免SQL注入。
要回答问题的后半部分,如果您的输出是网页,则始终转义任何特殊的HTML字符(&
,<
,>
)以防止脚本注射。
答案 3 :(得分:0)
向参数化查询添加在应用程序中使用输入验证。永远不要相信输入是干净的。核实。例如,如果它应该是一个整数,请检查以确保它没有问题地转换为数值。
答案 4 :(得分:-1)
在PHP中,最好的方法是在字符串上使用HTML转义 它将特殊字符转换为符合HTML标准的字符。
示例:“”(空格)转换为“%20”。