無作為
不僅僅是一種態度!

偽造IP訪問網站,實現破解IP限制觀看91等識別機制(PHP/Python)

許多網站看視頻都是限制IP,比如91就是每個IP限制每天觀看10次,這里給出破解方法,那就是偽造IP訪問網站。

這個方法并不是直接說破解91,而是給寫破解程序的程序員看的方法。

最近在做爬蟲應用,但是目標網站限制了IP訪問,同IP訪問次數過多將會被屏蔽。既然網站限制的是IP地址,那么只要在訪問時變更IP不就行了。只要掌握了偽裝IP的技巧,限制IP訪問的網站,或者是限IP的投票,就可以無視限制,為所欲為啦。

限制IP的幾種形式

要想偽裝IP,首先要了解網站是如何獲取客戶IP并限制的。

以PHP為例,PHP獲取客戶端IP地址的方式主要有三種:

  1. $_SERVER[“REMOTE_ADDR”];
  2. $_SERVER[“HTTP_CLIENT_IP”];
  3. $_SERVER[“HTTP_X_FORWARDED_FOR”];

REMOTE_ADDR:無代理時獲取客戶端IP;

HTTP_CLIENT_IP:透明代理時獲取客戶端IP;

HTTP_X_FORWARDED_FOR:多層代理時返回多個IP或隨機地址;

可見只要能搞定這三種獲取用戶IP的方式,就能偽裝成功大多數的網站。

PHP偽裝客戶端IP

這里以PHP采集類Snoopy為例,因為它能很方便的設置請求頭信息,以便偽裝IP。

include "Snoopy.class.php";
$snoopy = new Snoopy;

//分別設置CLIENT-IP和HTTP_X_FORWARDED_FOR來偽裝IP
$snoopy->rawheaders["CLIENT-IP"] = "1.2.3.4"; //偽裝ip
$snoopy->rawheaders["HTTP_X_FORWARDED_FOR"] = "1.2.3.4"; //偽裝ip

$snoopy->fetch("https://yantuz.cn/");
print $snoopy->results;

除偽裝IP之外,還可以設置其他頭信息。

$snoopy->cookies["cookie"] = 'value'; //設置Cookie
$snoopy->cookies["SessionID"] = 238472834723489l; //設置Session
//設置瀏覽器信息
$snoopy->agent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36"; //偽裝瀏覽器
$snoopy->referer = 'https://yantuz.cn/'; //偽裝來源頁地址 http_referer
$snoopy->rawheaders["Pragma"] = "no-cache"; //設置Catch
$snoopy->rawheaders["Accept-language"] = "zh-cn"; //設置頁面語言
$snoopy->rawheaders["Content-Type"] = "text/html; charset=utf-8"; //設置頁面編碼

//設置用戶名密碼
$snoopy->user = "username"; $snoopy->pass = "password";

這樣不但能偽裝客戶端IP還能同時偽裝客戶端,來源等信息。如果網站有驗證碼,仍然可以通過固定SessionID來實現每次訪問都是同樣的驗證碼。

Python偽裝

headers={
 'Accept-Language':'zh-CN,zh;q=0.9',
 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36',
 'X-Forwarded-For':'1.2.3.4',
 'referer':'https://yantuz.cn/',
 'Content-Type': 'multipart/form-data; session_language=cn_CN'
}
base_req=requests.get(url="http://yantuz.cn/",headers=headers)

原理相同,只是寫法不同,重點是設置偽裝IP即可

代理偽裝

以上方法不好用的時候只能用代理偽裝了,推薦一個國外的代理地址https://free-proxy-list.net/

Snoopy完整示例

include "Snoopy.class.php"; $snoopy = new Snoopy;

$snoopy->cookies["cookie"] = 'value'; //設置Cookie
$snoopy->cookies["SessionID"] = 238472834723489l; //設置Session
//設置瀏覽器信息
$snoopy->agent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36"; //偽裝瀏覽器
$snoopy->referer = 'https://yantuz.cn/'; //偽裝來源頁地址 http_referer
$snoopy->rawheaders["Pragma"] = "no-cache"; //設置Catch
$snoopy->rawheaders["Accept-language"] = "zh-cn"; //設置頁面語言
$snoopy->rawheaders["Content-Type"] = "text/html; charset=utf-8"; //設置頁面編碼


//分別設置CLIENT-IP和HTTP_X_FORWARDED_FOR來偽裝IP
$snoopy->rawheaders["CLIENT-IP"] = "1.2.3.4"; //偽裝ip
$snoopy->rawheaders["HTTP_X_FORWARDED_FOR"] = "1.2.3.4"; //偽裝ip 

//設置代理
$snoopy->proxy_host = "my.proxy.host";
$snoopy->proxy_port = "8080";

//設置用戶名密碼
$snoopy->user = "username"; $snoopy->pass = "password";
$snoopy->fetch("https://yantuz.cn/"); 
print $snoopy->results;
到此想必大家應該知道如何編寫此類破解程序了。
歷史上的今天:
贊(70) 打賞
所有免費資源、福利、電影、破解軟件未經允許不得轉載:www.btilnp.live無作為 » 偽造IP訪問網站,實現破解IP限制觀看91等識別機制(PHP/Python)

留下評論 搶沙發

無作為-不僅僅是一種態度

登錄/注冊廣告合作

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

微信掃一掃打賞

广西风采快三