2010年5月22日 星期六

XMLHttpRequest物件的setRequestHeader

似乎是因為安全上的考量  現在使用 XMLHttpRequest 物件的 setRequestHeader method 時
有許多的 header field 不能設定 referer 就是其中一個
假使用以下的code
//vbscript code
xmlhttp.open ...
xmlhttp.setRequestHeader "referer", "http://..."
xmlhttp.send

我用 MSXML2.XMLHTTP.3.0 測試過了
用 sniffer 看實際送出的封包 會發現 referer 並沒有被加到 http header 中

上網找了資料 似乎 firefox safari 都有做這樣的保護措施
不過不知道為什麼好像資料很少  連 msdn 上面的 xmlhttprequest 物件說明也沒有註明這件事
就因為這樣害我找了好久的 bug = =