我試圖保護我的上傳控制器方法使用MVC ValidateAntiForgeryToken
,但我正在努力解決如何獲得__RequestVerificationToken
包括在帖子中。Valums文件上傳器 - 包括ValidateAntiForgeryToken
我的動作是這樣的:
[HttpPost, ValidateAntiForgeryToken]
public ActionResult FileUpload(HttpPostedFileBase qqfile)
通過documentation爲上傳尋找沒有任何暴露的掛鉤,我可以找到,讓我的QQ代碼外部訪問操縱它生成表單。
有沒有其他人設法讓這個工作?
編輯源文件爲創建的表單我的請求還是沒有通過驗證後:
請求
http://localhost:54275/UserProfile/FileUpload?qqfile=266758_10150696082935268_8163320_o.jpg
Host: localhost:54275
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-gb,en;q=0.5
Accept-Encoding: gzip, deflate
DNT: 1
X-Requested-With: XMLHttpRequest
X-File-Name: 266758_10150696082935268_8163320_o.jpg
Content-Type: application/octet-stream
X-Mime-Type: image/jpeg
Referer: http://localhost:54275/UserProfile/Edit
Content-Length: 625352
Cookie: __test=1; RememberMe=-1167340540^1#-5833880764017141030; __RequestVerificationToken=BEIHblTcEaCio_1_i6bJnSYmituqQfq9y2ge63T85w15pAhbPldPZqY8DhLTubmtmd9OLtAuJcHdmfaFHSbn1L7oAYAtxDJWdMOOzNrddhU1; DotNetOpenAuth.WebServerClient.XSRF-Session=O-l5-Hv0flYqKL27j0TGhA; .ASPXAUTH=52C5EDFB92A09FA0395676E23BE1EBBBF03D3E88EF7C81761B76C1C8EF67936C0D9FBFD730ED77B0246C49757828A7C17D0DD7644A1C50988ECFF4C3DEDF15783E5FD7C4BA97E484F9FD6460EB6A5310E27453B461E320D10E74A5F8AEE1C0A5B1367D0DB4060958B48DACB12E80AA23; TCSESSIONID=D9016B850A1BCFD6921E274467F52CEE
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Fiddler-Encoding: base64
是的,當我瀏覽它時,我確實看到了這些代碼,但像這樣的黑客源代碼幾乎肯定會在稍後升級時錯過。我試圖避免說實話。謝謝。 – Jammer
我已經爲我的Ajax東西使用了一些類似的代碼,所以我已經完成了所有這些工作,我只是不想破解源文件。 – Jammer
另一個選項,我沒有測試過,可能是在您調用上傳器時將防僞添加到「params」變量。 – PlTaylor