Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 特殊符号不能从ASP.NET 3.5存储在SQL Server中_C#_Asp.net - Fatal编程技术网

C# 特殊符号不能从ASP.NET 3.5存储在SQL Server中

C# 特殊符号不能从ASP.NET 3.5存储在SQL Server中,c#,asp.net,C#,Asp.net,我在3.5中创建了一个网站,它以文本格式接受一些输入,并将其保存在SQLServer2005数据库中 数据库字段是varcahar(50) 但如果文本框中的数据包含特殊符号,如,#,@,则无法执行此操作 它生成一个显示安全错误的客户端脚本错误 对于脚本,我使用的是JavaScript。这听起来好像不喜欢字符。尝试关闭页面指令中的validaterequest。警告:这将允许恶意内容通过。最好对输入进行编码。这听起来好像不喜欢字符。尝试关闭页面指令中的validaterequest。警告:这将允许

我在3.5中创建了一个网站,它以文本格式接受一些输入,并将其保存在SQLServer2005数据库中

数据库字段是
varcahar(50)

但如果文本框中的数据包含特殊符号,如,#,@,则无法执行此操作

它生成一个显示安全错误的客户端脚本错误


对于脚本,我使用的是JavaScript。

这听起来好像不喜欢字符。尝试关闭页面指令中的validaterequest。警告:这将允许恶意内容通过。最好对输入进行编码。

这听起来好像不喜欢字符。尝试关闭页面指令中的validaterequest。警告:这将允许恶意内容通过。最好对输入进行编码。

正如@John Nolan所写,这很可能是ASP.NET内置请求验证的结果

您必须关闭内置验证,并启动自己的验证:

您可以在页面级别关闭验证:

<%@ Page validateRequest="false" %>

或在应用程序级别(在web.config中):


不要忘记对应用程序的所有输出进行编码,尤其是在关闭请求验证之后

看看这个主题


为了保护您的应用程序,您必须遵循常见的Web应用程序安全指南,并对用户直接或间接生成的所有输出进行编码,以避免跨站点脚本(XSS)。微软已经提供了一个简单的解决方案。OWASP具有XSS防护。

正如@John Nolan所写,这很可能是ASP.NET内置请求验证的结果

您必须关闭内置验证,并启动自己的验证:

您可以在页面级别关闭验证:

<%@ Page validateRequest="false" %>

或在应用程序级别(在web.config中):


不要忘记对应用程序的所有输出进行编码,尤其是在关闭请求验证之后

看看这个主题


为了保护您的应用程序,您必须遵循常见的Web应用程序安全指南,并对用户直接或间接生成的所有输出进行编码,以避免跨站点脚本(XSS)。微软已经提供了一个简单的解决方案。OWASP具有XSS预防功能。

数据库不关心符号是什么。问题将出现在您的脚本或代码中。你能发布一些代码吗?没错,问题在于脚本,数据库不在乎符号是什么。问题将出现在您的脚本或代码中。你能发布一些代码吗?没错,问题在于脚本。这不会对我的应用程序的安全性构成威胁吗?嗯,即使你不关闭请求验证,你也应该验证你的输入并对输出进行编码。内置请求值仅提供基本的部分保护。我已经更新了我的答案,添加了一些到AntiXss资源的附加链接。这是否会对我的应用程序的安全性构成威胁呢?即使你不关闭请求验证,你也应该验证你的输入并对输出进行编码。内置请求值仅提供基本的部分保护。我已经更新了我的答案,添加了一些到AntiXss资源的链接。