Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.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
Asp.net 防止通过HTTP GET发送密码_Asp.net_Http_Get - Fatal编程技术网

Asp.net 防止通过HTTP GET发送密码

Asp.net 防止通过HTTP GET发送密码,asp.net,http,get,Asp.net,Http,Get,在安全审查期间,我遇到了一个奇怪的要求,我必须防止用户名和密码通过HTTP发送到asp.net web表单中 情况是这样的 我们有简单的asp.net登录表单,其中包含用户名、密码和提交按钮(POST方法)。在安全审查期间,安全测试人员使用某种代理工具(Burp套件)更改表单方法以获取,然后用户名和密码作为查询字符串发送 GET/Login.aspx?\u LASTFOCUS=&\u EVENTTARGET=&\u EVENTARGUMENT=&\u VIEWSTATE=''&\u SCROLL

在安全审查期间,我遇到了一个奇怪的要求,我必须防止用户名和密码通过HTTP发送到asp.net web表单中

情况是这样的

我们有简单的asp.net登录表单,其中包含用户名、密码和提交按钮(POST方法)。在安全审查期间,安全测试人员使用某种代理工具(Burp套件)更改表单方法以获取,然后用户名和密码作为查询字符串发送

GET/Login.aspx?\u LASTFOCUS=&\u EVENTTARGET=&\u EVENTARGUMENT=&\u VIEWSTATE=''&\u SCROLLPOSITIONX=0&\u SCROLLPOSITIONY=0&\u EVENTVALIDATION=%2FwEWCgKm973fCgKOieLQt9kH6PhK0wq%2fP8pXg%2FF&%24txtUser=abc@abc.com&txtPassword=1233&%24btnLogin=Login


根据安全测试团队的说法,GET(form方法更改为GET使用代理工具)方法不应在查询字符串中传递用户密码。(据我所知,GET将始终作为查询字符串传递值,即使它是密码字段)

实现所需功能的一种简单方法是指定服务器端只查看服务器端发布的值,而忽略查询字符串项,例如使用

Request.Form["foo"]
而不是

Request["foo"] 


这没有任何安全原因,实际上您只想使用SSL。

请提供一些造成麻烦的代码,我们不会为您着想。这只是一个简单的asp.net登录表单,带有用户名密码和提交按钮。服务器端我们有btnSumit_单击,根据数据库验证用户名和密码。
Request.QueryString["foo"]