【问题标题】:What is request.postData in stack trace堆栈跟踪中的 request.postData 是什么
【发布时间】:2015-07-17 18:33:44
【问题描述】:
我的应用程序使用 Web 服务进行身份验证。在正确的身份验证用户被重定向到仪表板之后。
在设计应用程序时,我们强烈同意除非用户经过身份验证,否则绝不发送任何数据。
但是,当我通过身份验证算法进行调试时,我注意到 request.postData 具有数据数组。这太令人困惑了。我也检查了网络服务。认证过程中不提供任何数据。
request.postData 究竟是什么?
你们需要什么信息来提示?
【问题讨论】:
标签:
java
web-services
security
request
【解决方案1】:
postData 是POST request 的消息正文。
一个例子1 HTTP POST请求如下:
POST / HTTP/1.1
content-type:application/x-www-form-urlencoded;charset=utf-8
host: https://importexport.amazonaws.com
content-length:207
Action=GetStatus&SignatureMethod=HmacSHA256&JobId=JOBID&SignatureVersion=2&Version=2014-12-18&Signature=%2FVfkltRBOoSUi1sWxRzN8rw%3D&Timestamp=2014-12-20T22%3A30%3A59.556Z
使用 POST 请求时,用户无法看到从浏览器发送到服务器的数据,除非他们使用调试工具。而在 GET 请求中,数据将显示在浏览器地址栏中。
例如,如果上面是 GET,则 URL 将变为:
http://docs.aws.amazon.com/AWSImportExport/latest/DG/SamplePOSTRequest.html?Action=GetStatus&SignatureMethod=HmacSHA256&JobId=JOBID&SignatureVersion=2&Version=2014-12-18&Signature=%2FVfkltRBOoSUi1sWxRzN8rw%3D&Timestamp=2014-12-20T22%3A30%3A59.556Z
因此,如果您的应用程序使用 POST 数据对 Web 服务进行身份验证(很可能),request.postData` 就是它发送的数据。