by Niels on Thu Oct 24, 2002 8:09 pm
the max sessions per IP, does not work perfectly, users can avoid the counting by not making a new session, I suspect this could be different depending on the browser, but there are currently no way to fix this.
so don't trust the max session per IP, becouse it is easy to "fool", however to avoid some users making to meny connections it can be used
http://mods.db9.dk/forum/post2637.html#p2637
это он ведь про свой мод, я так понимаю?
решил внедрить "на пальцах", частично и вручную, не трогая БД..
цель - запретить большое кол-во одновременных соединений для гостей (определил максимум как 2).
Код: Выделить всё
// Begin add - Max sessions MOD
if ($user_id == ANONYMOUS) {
$sql = "SELECT session_user_id FROM ".SESSIONS_TABLE."
WHERE session_time >= ".( time() - 90 ) . "
AND session_ip='".$user_ip."'". (($user_id == ANONYMOUS) ? "" :" AND session_user_id='".$user_id."'" ) ;
if( !($result = $db->sql_query($sql)) )
{
message_die(CRITICAL_MESSAGE, 'Could not obtain users online information'.$sql, '', __LINE__, __FILE__, $sql);
}
$total_users = $db->sql_numrows($result);
if ( $total_users >= 2 )
{
message_die(CRITICAL_MESSAGE, 'Max connections per IP reatched, 2, please use fewer open windows');
}
}
// End add - Max sessions MOD
странно, но по совету Jovanni (http://www.phpbbguru.net/community/topi ... tml#p11254)
делал анализ запросов к БД, так вот, там вышеупомянутого запроса не нашел...