尝试使用“内容安全策略”并使用“仅限报告”方法,数据正在发送POST(请参阅编辑,应该是POST,但请求标题说GET)到我的页面,然后我用它来发送电子邮件给自己。在浏览器开发人员工具中,我可以看到请求有效负载中的数据,但我不知道如何访问此范围。 FORM
范围为空,GetHttpRequestData()
未显示Payload
密钥。
如何在ColdFusion中访问请求有效负载中的数据?
编辑:在开发工具中,我可以在网络标签中看到包含4个部分的页面的POST:General
,Response Headers
,Request Headers
和Request Payload
。我需要访问Request Payload
数据。
请求标题:
GET /campuses/content-report/ HTTP/1.1
Host: domain.com
Connection: keep-alive
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.130 Safari/537.36
Accept: */*
Referer: http://domain.com/page/
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8
Cookie: **[Removed]**
请求有效负载:
{
"csp-report":{
"document-uri":"http://domain.com/page/",
"referrer":"http://domain.com/",
"violated-directive":"default-src 'self' 'sha256-L2Tc50iUaBz2udc-dnkwO-FKzrsl5cLnzkFu5LgX5ao=' https://stats.g.doubleclick.net http://netdna.bootstrapcdn.com http://www.google-analytics.com https://www.google.com https://fonts.gstatic.com https://ajax.googleapis.com https://cdn.jsdelivr.net https://maxcdn.bootstrapcdn.com http://www.etutoring.org",
"effective-directive":"img-src",
"original-policy":"default-src 'self' 'sha256-L2Tc50iUaBz2udc-dnkwO-FKzrsl5cLnzkFu5LgX5ao=' https://stats.g.doubleclick.net http://netdna.bootstrapcdn.com http://www.google-analytics.com https://www.google.com https://fonts.gstatic.com https://ajax.googleapis.com https://cdn.jsdelivr.net https://maxcdn.bootstrapcdn.com;style-src 'self' 'unsafe-inline' https://fonts.googleapis.com https://maxcdn.bootstrapcdn.com;script-src 'self' https://www.google-analytics.com https://ajax.googleapis.com https://cdn.jsdelivr.net 'nonce-3E89EBDB49F712C7D90D1B39E348BBBF';report-uri /campuses/content-report;",
"blocked-uri":"https://www.google-analytics.com",
"status-code":200
}
}
GetHttpRequestData
包含请求标头但不包含请求有效负载。我注意到我读过的网站说安全策略会通过POST发送数据,但Headers说GET。这会导致这个问题吗?它们应该在URL
范围内吗?目前不在我的机器上。
答案 0 :(得分:2)
所以我找到了正确的位置,GetHttpRequestData
但是我没有意识到我设置的网址没有尾部斜杠,我的IIS重写规则重定向到/
版本页面和标题数据在此过程中丢失。