-1

我使用的是Server.HttpEncode()HttpDecode(),以便消毒用户表单输入,并在检测到“潜在危险”输入时让服务器发出异常。简单的用户输入消毒

(数据,然后保存到MSSQL数据库)

这是否足以阻止SQL/JavaScript注入和类似的考虑?

+0

你没有提到你如何从用户输入建立你的sql字符串 - 但请确保你没有使用字符串连接,而是使用参数化查询。如果您想了解SQL注入的全部内容,请阅读以下优秀文章:http://www.sommarskog.se/dynamic_sql.html#SQL_injection – Bridge 2012-07-24 09:03:56

+0

对不起 - 数据正在传递给存储过程。 – 2012-07-24 09:29:25

+0

这些存储过程如何制定? – podiluska 2012-07-24 09:32:28

回答

1

不,它根本无法阻止它。它更多地用于防止XSS攻击,如Microsoft here所解释的。阅读this关于防止SQL注入的一些想法的Stackoverflow问题。

根据您所处的环境,我会使用诸如Entity Framework或NHibernate这样的技术来完全防止SQL注入,所以您甚至不必担心它。

-2

可能,但几乎肯定不是。

+4

对投票表示歉意,但不是一个特别有用的答案! – 2012-07-24 09:28:58

+0

@DarkcatStudios根据您提供的信息,这就是答案。你显然更喜欢答案是:“是的,绝对的。继续吧,把它放在那里”,那么为什么要问呢? – podiluska 2012-07-24 09:30:54