Simple user input sanitization
我正在使用Server.HttpEncode()和HttpDecode()来清理用户表单输入,以及在检测到"潜在危险"输入时让服务器抛出异常。
(然后将数据保存到MSSQL数据库)
这被认为足以阻止SQL / Javascript注入和类似?
-
您没有提到如何从用户输入构建sql字符串 - 但请确保您没有使用字符串连接,而是使用参数化查询。 如果您想要了解SQL注入的整个主题 - 请阅读这篇优秀文章:sommarskog.se/dynamic_sql.html#SQL_injection
-
抱歉 - 数据正在传递给存储过程。
-
那些存储过程是如何制定的?
不,它根本不会阻止它。 它更多地用于防止XSS攻击,正如微软在这里所解释的那样。 阅读此Stackoverflow问题,了解有关防止SQL注入的一些想法。
根据您所处的环境,我会使用诸如Entity Framework或NHibernate之类的技术来完全阻止SQL注入,因此您甚至不必担心它。
可能,但几乎肯定不是。
-
对不起投票,但不是一个特别有用的答案!
-
@DarkcatStudios根据您提供的信息,这就是答案。 你显然更喜欢答案是"是的,绝对。继续把它放在那里",那么为什么还要问?