工做中,用Selenium自動化填表並獲取結果時,程序一直安靜的讀取數據庫,網頁填表,獲取結果,存庫,但跑着跑着忽然報錯了。javascript
排查後,原來不是Selenium的問題,是數據比較特殊,帶了個雙引號,以下php
填表後提交時,觸發了Chrome XSS自動過濾器 xssAuditor,致使POST請求攔截。(文尾會延伸:Chrome xssAuditor的工做原理)css
Chrome提示以下錯誤:html
而後查了下解決辦法,可否關閉 xssAuditor,非WIN10下我的認爲最好的解決辦法以下:java
https://www.cnblogs.com/SKTone/p/8331763.htmlweb
但WIN10無法按此辦法解決,只能放棄Chrome瀏覽器 ,聲明瀏覽器改火狐(browser = webdriver.Firefox() ),換用火狐後,它沒有自動過濾的狀況 【成功解決】chrome
延伸部分:數據庫
Chrome xssAuditor的工做原理:瀏覽器
chrome的xss檢測名稱爲 xssAuditor 整合到webkit當中,chrome這麼作的緣由是由於過濾器能夠在腳本執行以前就能夠攔截,並且任何使用webkit均可以使用這些規則安全
當加載網頁時,xssAuditor會在渲染的以前評估用戶的輸入數據:
1.檢查用戶輸入是否包含惡意內容,若是存在進行攔截
2.xssAuditor檢測用戶是否會反射到渲染的頁面中(html實體/html熟悉/javascript/css/url)
3.評估輸入上下文是否合法,非法進行過濾
chrome的檢測機理和ie還有很大的區別是,chrome是在此法解析階段進行的,講html解析不一樣的token(相似php vld opcode),xssAuditor會逐一掃描檢測token,
若是token中發現危險的屬性和URL進行比較,若是URL中也存在一樣的數據,xssAuditor則會認爲這是一個反射XSS。
demo:
解析器解析<iframe src="x" onerror="alert(1)"></iframe>
1.依次檢查標籤iframe是否包含惡意屬性,src/onerror
2.若是src不是以javascript:開頭,則安全,放行
3.onerror中含有腳本,檢查URL是否包含
4.若是出如今URL中,認爲存在安全問題,將過濾 <iframe src="x" onerror="void(0)"></iframe>
5.停止iframe標籤檢查