nginx代理WEB服務效驗CSRF Headers失敗


背景:

WEB服務在公司內部服務器上,使用nginx做透明代理,OA區訪問發現WEB服務返回No XSRF Header;

在服務器內部本地curl 不過nignx發現可以:

CSRF的一般防護策略:

1、限制referer請求來源

2、增加字段token驗證

這次的WEB服務使用的在headers增加了在token進行驗證。

 

原因:

問題原因在於nginx默認會忽略掉headers中_線標識符字段頭

 

解決:

知道問題就簡單了:

方法一:不用下划線
把下划線_改成其他的,如sign_val改成sign-val

方法二:nginx增加配置項

nginx默認request的header的那么中包含’_’時,會自動忽略掉。
在nginx里的nginx.conf配置文件中的http部分中添加如下配置:
underscores_in_headers on; (默認 underscores_in_headers 為off)

增加nginx配置后。reload重新訪問生效。

 

參考信息:

https://blog.csdn.net/shidebin/article/details/86133762


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM