我有一个ASP.net网页,允许用户更改密码。目前,当用户在表单字段中创建一个新密码时,该密码以"#sign"结尾。它抛出服务器错误,指出从客户端检测到潜在危险的request.form值。我做了一些研究,发现它是因为它认为它是一个MySQL评论试图忽略"#符号之后的所有代码。"例如,用户可以输入密码,例如ABC#&而不是ABC&#。
我的asp.net页面上的代码中是否有任何内容,例如标题行等,以防止服务器认为这是SQL注入?我后面的代码中的所有SQL都使用参数,所以我现在不担心SQL注入。我只希望每个用户都能在密码中使用任何字符组合。感谢您的任何见解!
答案 0 :(得分:0)
如果您真正希望实现此目的,请查看Microsoft的这篇文章:https://msdn.microsoft.com/en-us/library/hh882339(v=vs.110).aspx
文章提到您可能需要修改web.config以包含以下设置:
<system.web>
<httpRuntime requestValidationMode="2.0" />
</system.web>
和
<configuration>
<system.web>
<pages validateRequest="false" />
</system.web>
</configuration>
或单个页面:
<@ Page validateRequest="false" %>
请注意,这些配置可能会因您正在使用的.Net项目类型而异。我提到的文章有更多信息。我严格引用了这个来源。