第 1 頁 (共 2 頁)
[問題] 連續搜索時間間隔限制
發表於 : 2005-05-29 22:23
由 help
問題外掛:連續搜索時間間隔限制\r
參考連結:
http://phpbb-tw.net/phpbb/viewtopic.php?t=32133
使用版本:phpBB 2.0.15
網站位置:n/a
狀況描述:
我已經安裝了連續搜索時間間隔限制\r
好像 Not work in 2.015
有沒有朋友可以趙小弟解決問題 ?
發表於 : 2005-05-30 12:30
由 vaio
小弟都試裝了,但都唔Work的‧請問段CODE有甚麼出錯呢?
發表於 : 2005-05-30 20:11
由 help
vaio 寫:小弟都試裝了,但都唔Work的‧請問段CODE有甚麼出錯呢?
我都不知道
希望有高人指點 ...
發表於 : 2005-08-14 12:50
由 sh85216s
我在2.0.17下安裝也是沒有效果,不知道哪位大哥大姐可以幫一下忙?
發表於 : 2005-08-15 17:02
由 ~倉木麻衣~
請多加一行session_start();
意即將原作中要求加入的程式碼改成這樣\r
代碼: 選擇全部
/*
妖妖專用,請任意拍打餵食!
[url]http://deliabest.no-ip.com[/url]
*/
session_start();
if(!session_is_registered("nowtime"))
{
//如果是第一次搜尋則把?#123;在的時間記錄起來
session_register('nowtime');
$_SESSION['nowtime'] = time();
}else{
//?#93;定搜尋間隔時間為10秒
$set_min_time = 10;
/*
判斷是不是在10秒內重複搜尋
是,罵人
否,紀錄?#123;在時間
*/
$_SESSION['nowtime'] > (time() - $set_min_time) ? message_die(GENERAL_MESSAGE, "請勿在 $set_min_time 秒內重複搜尋!") : $_SESSION['nowtime'] = time();
}
發表於 : 2005-08-15 17:32
由 心靈捕手
~倉木麻衣~ 寫:請多加一行session_start();
意即將原作中要求加入的程式碼改成這樣\r
代碼: 選擇全部
/*
妖妖專用,請任意拍打餵食!
[url]http://deliabest.no-ip.com[/url]
*/
session_start();
if(!session_is_registered("nowtime"))
{
//如果是第一次搜尋則把?#123;在的時間記錄起來
session_register('nowtime');
$_SESSION['nowtime'] = time();
}else{
//?#93;定搜尋間隔時間為10秒
$set_min_time = 10;
/*
判斷是不是在10秒內重複搜尋
是,罵人
否,紀錄?#123;在時間
*/
$_SESSION['nowtime'] > (time() - $set_min_time) ? message_die(GENERAL_MESSAGE, "請勿在 $set_min_time 秒內重複搜尋!") : $_SESSION['nowtime'] = time();
}
剛剛在測試論壇, 發現:
多了這一行後,
一開始, 便無法搜尋了!
--
抱歉! 多試幾次, 又發現可以了!
謝謝您!
發表於 : 2005-08-15 17:50
由 ~倉木麻衣~
其實也不是一開始就不能搜尋了
而是點了「搜尋(search.php)」後, $_SESSION['nowtime']就被register並賦值了
而當填入搜尋條件再按下「搜尋」鈕後, 會因為postback的關係而啟動預設的10秒限制\r
剛有測過, 點search.php後, 再隔10秒才送出搜尋就可以運作
不過還是有些麻煩就是了
剛又測了一下, 雖然不是很滿意, 不過應該也足夠了吧\r
將原作要求加入的程式代碼改成這樣\r
代碼: 選擇全部
session_start();
if(!session_is_registered("nowtime") && ($HTTP_POST_VARS['mode'] == 'results' || $HTTP_GET_VARS['mode'] == 'results') )
{
//如果是第一次搜尋則把?#123;在的時間記錄起來
session_register('nowtime');
$_SESSION['nowtime'] = time();
}else{
//?#93;定搜尋間隔時間為10秒
$set_min_time = 10;
/*
判斷是不是在10秒內重複搜尋
是,罵人
否,紀錄?#123;在時間
*/
if (session_is_registered("nowtime"))
{
$_SESSION['nowtime'] > (time() - $set_min_time) ? message_die(GENERAL_MESSAGE, "請勿在 $set_min_time 秒內重複搜尋!") : $_SESSION['nowtime'] = time();
}
}
發表於 : 2005-08-15 19:24
由 sh85216s
感謝,確實可以用了!
另:我的站有設定訪客必須登入方可搜尋,即使登入後使用搜尋功能,亦被限制10秒內只能搜尋一次。
總而言之,這是一個很棒的"mod"
多謝~倉木麻衣~
發表於 : 2005-08-15 19:36
由 Kill
怎麼我用了之後搜尋會變成空白畫面
![驚訝 :-o](./images/smilies/icon_eek.gif)
發表於 : 2005-08-15 20:24
由 ~倉木麻衣~
k122417901 寫:怎麼我用了之後搜尋會變成空白畫面
![驚訝 :-o](./images/smilies/icon_eek.gif)
會不會是在session_start()之後有其它的輸出動作?
例如echo
發表於 : 2005-08-15 20:29
由 Kill
沒有耶@@
他原本是長這個樣子
代碼: 選擇全部
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'includes/bbcode.'.$phpEx);
include($phpbb_root_path . 'includes/functions_search.'.$phpEx);
//
// Start session management
//
$userdata = session_pagestart($user_ip, PAGE_SEARCH);
init_userprefs($userdata);
發表於 : 2005-08-15 20:31
由 ~倉木麻衣~
k122417901 寫:沒有耶@@
他原本是長這個樣子
那麼, 借你家的search.php來瞧瞧吧
![ㄏㄏㄏ :mrgreen:](./images/smilies/icon_mrgreen.gif)
發表於 : 2005-08-15 20:39
由 Kill
發表於 : 2005-08-15 20:48
由 ~倉木麻衣~
咦\r
我套用你的search.php並做搜尋時間限制的修改後, 一切都很正常
並不會出現空白頁面
![驚訝 :-o](./images/smilies/icon_eek.gif)
發表於 : 2005-08-15 20:52
由 Kill
~倉木麻衣~ 寫:咦\r
我套用你的search.php並做搜尋時間限制的修改後, 一切都很正常
並不會出現空白頁面
![驚訝 :-o](./images/smilies/icon_eek.gif)
這就奇怪了(汗
難道是因為我用php 4.4.0的緣故嗎...