国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

基于PHP給大家講解防刷票的一些技巧

2020-03-22 20:29:53
字體:
來源:轉載
供稿:網友
刷票行為,一直以來都是個難題,無法從根本上防止。但是我們可以盡量減少刷票的傷害,比如:通過人為增加的邏輯限制。基于 PHP,下面介紹防刷票的一些技巧:1、使用CURL進行信息偽造$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://localhost/2.php");
curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-FORWARDED-FOR:8.8.8.8', 'CLIENT-IP:8.8.8.8'));
curl_setopt($ch, CURLOPT_REFERER, "http://localhost/ ");
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.0)");
$out = curl_exec($ch);
curl_close($ch);2、驗證碼:采用非常復雜的驗證碼確切的說驗證碼的出現不是針對于人,而是針對于機器。通過復雜度和識別難易度的控制來阻攔掉一部分刷票機,從而減少刷票的發生。但隨著軟件技術、識別技術的發展越來越多的驗證碼面對著先進的刷票軟件也失去了其防范的作用、但是專業刷票機可以攻破。如果不用驗證碼,投票基本就歇菜了,驗證碼獲取方式,采用異步加載,即點擊輸入框時,才去請求,投票成功后,刪除驗證碼的 Session3、限時投票比如:從早8點至晚23 點4、設置投票間隔用戶投票后,需要隔多長時間才能繼續投。很多投票站點基本上都有這個限制,但是對于更改 IP的攻擊,就沒辦法了5、投票結果展示:延遲展示,友好展示頁面上投票,JS 立馬加1,但是刷新頁面,不一定立馬展示最新投票結果,返回狀態給頁面(感謝您的投票!或者 投票成功!至于有沒有成功,另說了!)6、扣量邏輯:常見于一些軟件評選之類的投票這是個殺手锏,后臺跑腳本實時監控異常增長(刷票)的項,然后實施扣量邏輯
即對于這個項,投 10 票才算一票7、html' target='_blank'>Cookie:常用的手段。比較低級投票后,在客戶端寫入 Cookie,下次投票時判斷 Cookie 是否存在
但是,這種方式非常容易攻破,因為 Cookie 可刪除8、加密選項 ID:對一些投票選項的ID,進行隨機加密加密算法,加Salt,并且設置有效時間,比如5分鐘內
服務器端進行解密并且驗證9、nginx限制鏈接數ngx_http_limit_conn_module
ngx_http_limit_req_module
nginx_limit_speed_module
可以使用這三個模塊來限制,不過這不是一個好的解決方法10、iptables限制/sbin/iptables -A INPUT -p tcp --dport 80 --syn -m recent --name webpool --rcheck --seconds 60 --hitcount 10 -j DROP
/sbin/iptables -A INPUT -p tcp --dport 80 --syn -m recent --name webpool --set -j ACCEPT
/sbin/iptables -t filter -A INPUT -p tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -m connlimit --connlimit-above 10 --connlimit-mask
32 -j REJECT具體腳本#!/bin/bash# Date: 2015-09-29# # Author: cpz@erongtu.comshopt -s -o nounsetexport PATH=/usr/bin/:/biniptables_log="/tmp/iptables_conf.log"/sbin/iptables -A INPUT -p tcp --dport 80 --syn -m recent --name webpool --rcheck --seconds 60 --hitcount 10 -j DROP/sbin/iptables -A INPUT -p tcp --dport 80 --syn -m recent --name webpool --set -j ACCEPT/sbin/iptables -t filter -A INPUT -p tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -m connlimit --connlimit-above 10 --connlimit-mask 32 -j REJECTwhile [ true ]; do #sleep 1 for IP in `netstat -an | grep -i ':80 '|grep 'ESTAB' | awk '{print $5}' | cut -d : -f 1 | sort | uniq -c | awk '{if($1 30 && $2!="127.0.0.1" ) {print $2}}'` /sbin/iptables -L -n | grep $IP /dev/null || /sbin/iptables -A INPUT -p tcp --dport 80 -s $IP -j DROP echo "/sbin/iptables -A INPUT -p tcp -s $IP -j DROP" ${iptables_log} donedone以上內容就是小編給大家介紹基于PHP給大家講解防刷票的一些技巧,希望大家喜歡。PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 乌兰察布市| 安塞县| 肇庆市| 乌什县| 遂溪县| 丽江市| 墨脱县| 青神县| 马鞍山市| 安吉县| 剑川县| 房产| 禹州市| 洛浦县| 合阳县| 东乡| 兴化市| 德惠市| 和硕县| 肃北| 都匀市| 如皋市| 景东| 贵南县| 喜德县| 绍兴县| 临沭县| 仲巴县| 正蓝旗| 许昌县| 汶上县| 揭西县| 仙居县| 德化县| 申扎县| 洞口县| 昌黎县| 上犹县| 瑞丽市| 尼玛县| 楚雄市|