請求例項php如何限制ip地址一天只能投3票

時間 2021-12-24 02:18:09

1樓:薊馳憑嘉茂

把ip地址寫入cookie變數中,獲取到某個ip地址

就設定過期時間,以及次數,同個區域網的ip是一樣的,根據mac地址和session_id()來判斷表示是不同的裝置也可以

2樓:匿名使用者

投票時獲取ip 寫入資料庫 然後每次投票時都從資料庫理獲取這個ip的投票數和上次投票時間 比較是否超過3票之類

3樓:匿名使用者

補充下 投票三次 表中外加一個欄位 統計下。作下判斷就可以了

4樓:匿名使用者

需要說得是,如果用ip限制的話,不是很準確,因為ip可以偽造

5樓:匿名使用者

0,建立一個表,用於儲存ip 以及最後訪問時間1,獲取客戶端ip,查詢資料庫是否有該ip如果沒有該ip則允許投票,並且把ip寫入表中,如果有該ip則判斷狀態 時差,當前時間減去最後訪問時間,如果時間時間大於一天了,則返回可以投票的標示同時修改表中最後訪問時間

6樓:靖聽手工烘焙坊

很簡單啊,用php+mysql或者php+xml來做。將投過票的ip與時間寫入資料庫,每次投票前遍歷資料庫,發現24小時內資料庫中已經有本ip3條記錄了就在網頁端禁止投票。很簡單的,用不了幾行語句就可以搞定。

比如:<?php

//前邊遍歷資料庫或者xml語句不再給出,返回的一個值假定為 $a,它記錄了資料庫中同ip出現的次數。假定一個值為$b,它給出了時間差(24h)。

if ($a==3 and $b<=24)?>

7樓:匿名使用者

用cookie 試試

php 如何使一個ip一天只能投一次票啊

8樓:匿名使用者

當客戶端請求的時候你就獲取它的ip並獲取當前的時候記錄下來,下一次有客戶端來請求就比對一下ip如果沒有相同的ip就投票就加一,如果ip有相同的並與當前的時間差大於24小時,投票也加一,如果ip有相同的並且時間差小於24返回不能投票的原因。

9樓:24圖吧

我的建議,你每次投票把ip地址儲存進資料庫,然後投票的時候進行ip對比,如果資料庫裡面今天有這個ip,那麼表示該ip已經投票了

10樓:匿名使用者

cookie 或者資料庫。

如何在php上限制一個ip一天只能註冊10個賬戶,註冊多了不允許

11樓:匿名使用者

對每個註冊使用者儲存下其註冊的ip,時間

註冊時檢查當日當前使用者ip註冊賬戶資料,超過則拒絕註冊

$_server["remote_addr"]; //簡單獲取註冊使用者ip

12樓:胖子阿亞

可以用redis memcache 或者mysql做一個計數器例如   ***xx_20180501

每次使用者註冊時把計數器數值加1,當計數器達到10後 不允許在註冊。

13樓:句心後端開發

思路:獲取訪問使用者ip,查詢資料庫判斷該ip是否可以繼續註冊新使用者

示例/**

* created by phpstorm.

* user: administrator

* date: 2018/11/30

* time: 19:35

* 限制一個ip一天只能註冊10個賬戶

* 獲取訪問使用者ip,查詢資料庫判斷該ip是否可以繼續註冊新使用者

*///獲取資料庫例項

$dsn = 'mysql:dbname=test;host=127.0.0.1';

$user = 'root';

$password = '';

try  catch (pdoexception $e)

//獲取訪問使用者ip

$access_user_ip = $_server['remote_addr'];

//查詢資料庫判斷該ip是否可以繼續註冊新使用者

$start_time = strtotime(date('y-m-d'));//今天0點

$end_time = strtotime(date('y-m-d').' +1 day ');//明天0點

$sth = $db->prepare('select count(*) from user where ip=:ip and created_at>:start_time and created_at<:

end_time');

$sth->bindparam(':ip',$access_user_ip);

$sth->bindparam(':start_time',$start_time);

$sth->bindparam(':end_time',$end_time);

$sth->execute();

$count = $sth->fetchcolumn();//當前該ip今天註冊的使用者總數量

if ($count>10)

原始碼放在github上,歡迎點星網頁連結

14樓:

$ip = $_server['remote_addr'];

獲取客戶端ip,快取記錄此ip註冊次數,每次註冊前去讀取快取,判斷ip註冊次數即可。

15樓:匿名使用者

假設會員表是members有id、reg_time、reg_ip欄位<?php

$start=date('y-m-d')."00:00:00";

$end=date("y-m-d")."23:59:59";

$start_time=strtotime($start);

$end_time=strtotime($end_time);

$now_time=time();

$ip = $_server['remote_addr'];

if($now_time>$start_time && $now_time<$end_time)}

16樓:夜神夢無眠

用快取實現

比如 ip 111.111.111.123 註冊一個會員,$ip = ip2long("111.111.111.123"); //先轉成int型

$date = date("ymd");

$cachename = "xx_"."".$date.$ip; //快取名稱為 字首 + 日期 + ip

//下一步快取 自增 + 1,這裡就不具體寫了,每個框架寫法不一//註冊的時候 ,讀取該快取,如果快取的值大於等於 10 ,則不能註冊

17樓:

資料庫建一個ip表,記錄ip的「當頭最早註冊的時間"d和「當天已註冊數量」n

如果d的時間在24小時內,而且n小於10才允許註冊.

不在24小時內時註冊後要更新日期,重新計數

18樓:

在註冊資料中記錄下註冊時間和註冊時的ip不就行了。

19樓:匿名使用者

獲取ip,把此ip寫入資料庫的一張表中,表裡記錄此ip的註冊時間及是否有註冊使用者,如果有,就增加1。使用者註冊時先檢查這張表中的標記位,對應的ip是否超出限制,否就開放正常註冊,是則跳到其他頁面不給註冊。

20樓:山茶小作坊

首先獲取當前ip,然後快取到session,redis等或者插入資料庫,用於統計註冊次數。記住過期時間應該從0點開始到24點結束。

這樣就能保證不會被重複無限次註冊。

21樓:

php上不太好限制,加上資料庫的話還好做,使用者註冊的時候把ip加入到使用者登錄檔中,然後每次使用者註冊的時候,在資料庫查詢該使用者的ip是否超過10個,沒超過的話允許註冊,否則註冊失敗。

22樓:你好啊

按照ip和當天時間統計,註冊了多個使用者了,如果大於等於10個就不讓註冊了,小於10個就可以註冊

23樓:茶苦亦覺甜

資料庫新增一張註冊日誌表,欄位為:主鍵,ip,created_at(時間戳),每次新註冊就用ip和當前日期去做業務邏輯判斷。如select count(*) from 註冊日誌表 where ip='當前ip' and created_at>當天0點的時間戳,結果超過10條就不允許新註冊了。

24樓:蟈蟈vip影視

$_server["remote_addr"] 獲取到使用者ip,(使用者註冊時加一個欄位『註冊ip』;把上面獲取到的插入到『註冊ip』)

使用者註冊時,判斷該ip今日總註冊量是否達到10;

否:插入資料,註冊成功;

是:返回ip註冊量達到上限;

25樓:

方法好多種,都可以實現。ssdb技術或者記錄在資料庫也可以做。現在(資料庫方式)舉例:

資料庫(user)表中記錄每個使用者註冊時的ip,新增註冊的時候把當前的ip記錄在資料庫,當然註冊的時候也有註冊時間的,然後每次新增一條資料的時候,查詢統計一下(當天時間以內同一個ip的數量),超過了就不允許再註冊了。xmj-livelife

26樓:魔龍冬雪血魔

這樣哈看你可以理解不

用資料庫多建立一個欄位每次新增的時候就有一個ip存入資料庫中然後用當天的時間匹配出來

//新增ip地址以陣列的形式

$requestarr['user_ip'] = $_server['remote_addr'];

//新增的時間

$requestarr['addtime'] = $date();

//從資料庫取出來 ip重複校驗

$if_ip = $model->if_ip_cont($requestarr['user_ip']);

if ($if_ip > 10 and 什麼時間就可以了)*****

時間你新增下就好了

27樓:

你加個註冊時間和註冊ip欄位,提交註冊的時候去資料庫查詢這個ip今天有沒有註冊十個賬號

28樓:大笨熊

首頁:要使用者表裡面加入 註冊ip,註冊時間欄位,在註冊成功後,要把使用者註冊的時間與ip寫入到資料庫,

然後就是限制問題,在使用者註冊的時候,先查詢使用者表裡面當天使用者的ip 記錄是否大於10條,如果大於,就給使用者提示 ip註冊已滿,反之則繼續註冊。

29樓:李溫柔

您好很高興回答您的問題

首先在使用者註冊的時候您獲取到使用者註冊的ip,儲存在資料庫中。相同ip資料庫的註冊次數遞增。

然後當下一個使用者註冊的時候查詢ip註冊次數,超過就返回false。

資料庫結構:註冊ip,註冊時間,註冊次數。(一天內註冊次數遞增,超過一天,則第二天資料重新儲存)

30樓:匿名使用者

可以在電腦或者手機上設定**ip。

搜尋兔子》ip,支援 單視窗單ip

現在ip連線以後再上就可以了。

31樓:匿名使用者

後臺獲取使用者註冊時的ip ,根據這個欄位條件查詢使用者表返回的count不超過10

如何使用thinkphp寫一個控制器,限制每一個ip一天只能訪問3次a.html頁面?

32樓:

這個的話你需要一下幾個步驟:

需要建立一張表來存放來訪者的ip。

也就是每來一個人你有需要記來訪者的ip寫到資料庫裡面,再寫一個訪問次數。

這樣的話在該ip第二次來的時候,我們就去資料庫裡面檢視,次數是幾,如果大於3那麼我們就提示,今天已經訪問了3次了。

祝你成功!不懂問我,by:熊照旭部落格

求例項k線圖及理論分析,求一個例項k線圖及理論分析

彪哥策略 白線是,5日線 黃線 10日線 粉色20日線,綠色30日線 藍色60日線,呈現這種排列狀態 是有上升通道的意思,可以適當加倉,盈利,但是切記不可一夜暴富, 廣陵才子 後量超前量,一浪高一浪 已發至郵箱 郵箱的地址都不對,怎麼發啊 書籍,求推薦一到兩本 配資的話,有幾個注意點。首要的當然是配...

php上傳大檔案時間大於http請求響應時間

換一個傳輸方式吧 不修改伺服器上面的配置 你是無法做到最大上傳的。那你還是用ftp協議上傳把。然後自己填一下檔案路徑。php php.ini post 150m 100m 0 5m 1,如何設定php上傳檔案大小限制 在中有這個設定選項,post max size 8m,這個就可以限制傳輸資料包大小...

C 中,如何例項化類例項,C 中,如何例項化一個類例項

朋璣崇綺煙 例項化這個類如果不帶引數,需要寫個不帶引數的建構函式。一般不寫建構函式,系統會自動生成一個,但是由於你寫了一個帶引數的建構函式,系統不會自動生成,如果你不在程式中自己寫出來,那麼無法例項化。繼承這個類 class dog animal 加個冒號就可以了 test t 分配給例項 t 的是...