php防止重複登錄,php如何防止重複提交

本文目錄一覽:

Thinkphp5防止某個IP多次登錄的方法

//昨天寫的思路不對,重新寫….

/**

*檢查IP是否重複登錄多次

*/

public function check_ip(){

//獲取ip

$login_ip=$_SERVER[“REMOTE_ADDR”];

$login_time=date(“Y-m-d”,time());

if(Cache::get(‘cache_login_data’)==false){

//如果ip換成為false,那麼創建一個緩存,並賦值第一個

$login_data[0]=[‘login_ip’=$login_ip,’login_time’=$login_time];

Cache::set(‘cache_login_data’,$login_data);

}else{

//如果有cache,那麼將這條數據加入到緩存中最後一條去

$cache_login_data=Cache::get(‘cache_login_data’);

$count=0;

foreach($cache_login_dataas$k=$v){

//如果當前緩存中的值含有當前ip和時間,那麼計算當前時間內登錄次數

if($v[‘login_time’]==$login_time$v[‘login_ip’]==$login_ip){

$count++;

if($count10){

//當前ip登錄超過10次

$this-error(“你登錄超過了10次,請不要再來登了…”,”Login/index”);

}else{

//當前時間內有該IP登陸過,但是沒有超過10次

$cache_login_data[count($cache_login_data)+1]=[‘login_ip’=$login_ip,’login_time’=$login_time];

Cache::set(‘cache_login_data’,$cache_login_data);

}

}else{

//當前時間內,該IP沒有登陸過

$cache_login_data[count($cache_login_data)+1]=[‘login_ip’=$login_ip,’login_time’=$login_time];

Cache::set(‘cache_login_data’,$cache_login_data);

}

}

}

}

php如何防止程序重複執行

在用戶表中加四個欄位,一個記錄是否登錄,一個記錄登錄隨機碼(每次登錄不一樣),一個記錄最後登錄時間,一個記錄登錄ip,登錄後保存user_id及登錄隨機碼的session,在全局的配置文件中寫一個方法.每次訪問一個頁面都去查詢用戶表的登錄隨機碼及ip,如果發現ip或隨機碼不一致(因為同一區域網獲取的ip可能一樣,所以不能單純的判斷ip,加上驗證隨機碼),則彈出提示消息,並清空session,強迫下線.

php中如何防止重複登錄?php中有沒有類似struts2中application的東西?

application php 中沒有

我常用的方法是這個:

1、登陸狀態通過 session 來記錄

2、將 session 數據記錄到資料庫裡面

3、登陸時候,檢查session 庫中是否已經登陸.這個地方你自己考慮如何判定

4、退出是清掉 session 庫中對應的數據

原創文章,作者:QIHL,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/134193.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
QIHL的頭像QIHL
上一篇 2024-10-04 00:04
下一篇 2024-10-04 00:04

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • 如何防止Python培訓騙局

    Python這門語言被譽為是一門容易學習但卻功能強大的編程語言,受到了越來越多人的追捧和關注。但是,Python市場上還是存在一些不良的培訓機構和騙局,下面從多個方面探討如何防止P…

    編程 2025-04-28
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若伺服器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • PHP登錄頁面代碼實現

    本文將從多個方面詳細闡述如何使用PHP編寫一個簡單的登錄頁面。 1. PHP登錄頁面基本架構 在PHP登錄頁面中,需要包含HTML表單,用戶在表單中輸入賬號密碼等信息,提交表單後服…

    編程 2025-04-27
  • PHP與Python的比較

    本文將會對PHP與Python進行比較和對比分析,包括語法特性、優缺點等方面。幫助讀者更好地理解和使用這兩種語言。 一、語法特性 PHP語法特性: <?php // 簡單的P…

    編程 2025-04-27
  • MyBatis如何防止SQL注入

    MyBatis是一款開源的持久層框架,它可以簡化Java應用程序中的數據持久化過程,並提供了許多有用的功能。然而,安全問題一直是Web應用程序的一大挑戰,其中最嚴重的問題之一是SQ…

    編程 2025-04-25
  • PHP版本管理工具phpenv詳解

    在PHP項目開發過程中,我們可能需要用到不同版本的PHP環境來試驗不同的功能或避免不同版本的兼容性問題。或者我們需要在同一台伺服器上同時運行多個不同版本的PHP語言。但是每次手動安…

    編程 2025-04-24
  • PHP數組去重詳解

    一、array_unique函數 array_unique是php中常用的數組去重函數,它基於值來判斷元素是否重複,具體使用方法如下: $array = array(‘a’, ‘b…

    編程 2025-04-24

發表回復

登錄後才能評論