程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php HTTP_REFERER模仿代碼(1/2)

php HTTP_REFERER模仿代碼(1/2)

編輯:關於PHP編程

<?php教程
if (!isset($_server["http_referer"]))
echo "no referer";
else
echo $_server["http_referer"];
?>

如果直接點擊上面的鏈接,那麼頁面會顯示referer頁面的鏈接。
復制代碼 代碼如下:

set http = createobject("msxml2.xmlhttp")
http.open "get","http://www.bkjia.com/test/referer.php",false
http.setrequestheader "referer","http://www.bkjia.com"
http.send
wscript.echo http.responsetext


但是如果我用vbs調用msxml2.xmlhttp組件訪問這個頁面,返回的卻是no referer。實在匪夷所思,難道我的代碼寫錯了?


於是google了一下“vbs偽造http referer”,發現搜出來的內容大部分和這篇文章一樣,不用看又是復制粘貼,你抄我的,我抄你的,抄來抄去不知道到底是誰的,而且還是錯的!
那篇文章第一個例子是asp教程的


復制代碼 代碼如下:

dim http
set http=server.createobject("msxml2.xmlhttp")
http.open "get",url,false
http.setrequestheader "referer","http://www.fromdomain.cn/"
http.send()

開始我還以為asp下的vbs和我直接雙擊運行的vbs不一樣,asp下的比較牛逼,可以改referer。為此我還專門裝了iis測試,發現返回的照樣是no referer。後來才看到下面的留言,“原諒我對asp不熟,給不了你什麼幫助,自己查點其他資料參考一下吧”,“這我沒怎麼玩asp了,代碼只是參考來的,asp的沒測試過”。

我真的不想罵人,不熟你寫也就算了,起碼測試一下吧,沒有測試過的代碼你也好意思貼上來?後來在千一網絡(這個網絡貌似不錯)看到一個比較靠譜的答案,referer在asp和ajax中是無法通過設置header來更改的。

怒了,既然xmlhttp組件不行,我用socket來寫總行了吧!(注:不是所有電腦上都注冊了winsock組件)


1 2

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved