一個關於PHP的有關問題

來源:互聯網
上載者:User
一個關於PHP的問題
PHP code
$P_S_T = $t_array[0] + $t_array[1];$timestamp = time();session_start();$ll_nowtime = $timestamp ;if (session_is_registered(‘ll_lasttime’)){  $ll_lasttime = $_SESSION['ll_lasttime'];  $ll_times = $_SESSION['ll_times'] + 1;  $_SESSION['ll_times'] = $ll_times;}else{  $ll_lasttime = $ll_nowtime;  $ll_times = 1;  $_SESSION['ll_times'] = $ll_times;  $_SESSION['ll_lasttime'] = $ll_lasttime;}if (($ll_nowtime – $ll_lasttime)<3){  if ($ll_times>=5){    header(sprintf(“Location: %s”,’http://127.0.0.1′));    exit;  }}else{  $ll_times = 0;  $_SESSION['ll_lasttime'] = $ll_nowtime;  $_SESSION['ll_times'] = $ll_times;}

主要功能:在3秒內連續重新整理頁面5次以上將指向本機 http://127.0.0.1
網上廣為流傳的一份代碼,但是顯然這個代碼是錯的,因為//已經起到的注釋作用,那麼怎麼改這個代碼才能正常使用呢?
不怎麼熟悉PHP,所以請高手更正一下,謝謝,分不多了,只能給30分了。

------解決方案--------------------
引號錯誤吧,1樓的代碼的引號是中文的單引號,不是英文的單引號。。。
------解決方案--------------------
正確代碼:

date_default_timezone_set('PRC');
$timestamp = time();
session_start();
$ll_nowtime = $timestamp ;
if (isset($ll_nowtime)){
$ll_lasttime = $_SESSION['ll_lasttime'];
$ll_times = $_SESSION['ll_times'] + 1;
$_SESSION['ll_times'] = $ll_times;
}else{
$ll_lasttime = $ll_nowtime;
$ll_times = 1;
$_SESSION['ll_times'] = $ll_times;
$_SESSION['ll_lasttime'] = $ll_lasttime;
}

if (($ll_nowtime-$ll_lasttime)<3){
if ($ll_times>=5){
header(sprintf("Location: %s",'http://127.0.0.1'));
exit();
}
}else{
$ll_times = 0;
$_SESSION['ll_lasttime'] = $ll_nowtime;
$_SESSION['ll_times'] = $ll_times;
}
?>
------解決方案--------------------
google一下,這是一個防止cc程式
樓主提供的程式在本地運行報錯,稍微修改了一下,經測試可以運行

session_start(); //開啟session
$timestamp = time();
$ll_nowtime = $timestamp ;

//判斷session是否存在 如果存在從session取值,如果不存在進行初始化賦值
if ($_SESSION){
$ll_lasttime = $_SESSION['ll_lasttime'];
$ll_times = $_SESSION['ll_times'] + 1;
$_SESSION['ll_times'] = $ll_times;
}else{
$ll_lasttime = $ll_nowtime;
$ll_times = 1;
$_SESSION['ll_times'] = $ll_times;
$_SESSION['ll_lasttime'] = $ll_lasttime;
}

//現在時間-開始登入時間 來進行判斷 如果登入頻繁 跳轉 否則對session進行賦值
if(($ll_nowtime - $ll_lasttime) < 3){
if ($ll_times>=5){
header("location:Http://www.baidu.com");
exit;
}
}else{
$ll_times = 0;
$_SESSION['ll_lasttime'] = $ll_nowtime;
$_SESSION['ll_times'] = $ll_times;
}
?>
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.