MAC IP and PHP
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
MAC IP and PHP - 2006-12-29 16:03:03.340000
|
|
|
_KаShpErovskiI_
Сообщений: 30
Оценки: 0
Присоединился: 2006-12-29 15:40:44.210000
|
Всем доброе время суток !!!! Я тут над одним проектом работаю и мне надо организовать что то вроди уникального логина……. Я подумал что ето так же можно сделать через MAC IP но …. проблема как поймать MAC IP с помощю ПХП ????? На форумах не где не нашол нечего интересного :( Как ето можно решить ???? Зарание спосибо и С Наступающим !!!!
|
|
|
RE: MAC IP and PHP - 2006-12-30 09:13:40.316666
|
|
|
Lex_Voodoo
Сообщений: 7328
Оценки: 0
Присоединился: 2004-12-07 13:55:12
|
MAC ты средствами PHP не узнаешь. 1. Использовать primary key autoincrement в MySQL, он даст 100% уникальность. 2. Использовать md5(primary key autoincrement в MySQL) - коллизий на твоём веку точно не будет :) 3. Использовать ф-ю, генерирующую уникальный логин, например так: print "Уникальный логин: " . next_unique_login();
function next_unique_login() {
do {
$login = gen_random_login();
} while(is_login_exists($login));
return $login;
}
function gen_random_login() {
// возвращает псевдослучайную строку, например:
return substr(strtolower(md5(microtime())), 10);
}
function is_login_exists($login) {
// возвращает true, если такой логин уже существует
return false;
} Если выберешь последний способ, не забудь либо сохранять новый логин сразу после получения, либо добавить ещё одну проверку во время регистрации - чтобы между вызовом next_unique_login() и сохранением уникального логина в базу кто-нибудь не вызвал её ещё раз.
|
|
|
RE: MAC IP and PHP - 2007-01-10 18:03:18.636666
|
|
|
_KаShpErovskiI_
Сообщений: 30
Оценки: 0
Присоединился: 2006-12-29 15:40:44.210000
|
Спасибо за совет это была моя 2-ая проблема :) А первая была в том что мне надо было обеспечить уникальность входа т.е. исключить одновременный вход в систему под одним и тем же логином. Я это решил следующим образом: В таблице где сидят все аккаунты я создал еще одно поле типа bool в скрипте дал проверку если Stutus = 1 значит user уже online если 0 то добро пожаловать :) [blockquote] [/blockquote]
|
|
|
RE: MAC IP and PHP - 2007-01-11 07:46:37.623333
|
|
|
Lex_Voodoo
Сообщений: 7328
Оценки: 0
Присоединился: 2004-12-07 13:55:12
|
А что будет, если юзер зашёл, но у него отрубили свет, и на кнопочку "выход" он не успел нажать?
|
|
|
RE: MAC IP and PHP - 2007-01-12 00:16:37.830000
|
|
|
ZneP
Сообщений: 910
Оценки: 0
Присоединился: 2006-08-21 16:11:47
|
лучше эту проверку через сессии решить. Если сессия на юзера сделана, то гуляй, если нет, то добро пожаловать, ИМХО тогда и вырубление света не будет мешать.
|
|
|
RE: MAC IP and PHP - 2007-01-12 08:50:14.290000
|
|
|
Lex_Voodoo
Сообщений: 7328
Оценки: 0
Присоединился: 2004-12-07 13:55:12
|
Вариантов решения много, но у каждого есть свои недостатки. Надо точно знать, что конкретно надо _KаShpErovskiI_, на физическом, а не программном уровне, т.к. на программном он ИМХО выбрал неверный путь. Касательно сессий - как они решат проблему со светом? Я залогинился, через минуту свет отрубился. Что прикажете делать? quote:
Если сессия на юзера сделана, то гуляй, если нет, то добро пожаловать Так в этом случае будет сделана на меня сессия, или нет? Или мне ждать 24 минуты, прежде чем я снова смогу залогиниться? К тому же, дефолтная сессия ну никак не решает проблемы с одновременным входом нескольких юзеров. Опять же, как ты собирался узнавать, сделана на этого юзера сессия, или нет?
|
|
|
RE: MAC IP and PHP - 2007-01-12 15:55:51.663333
|
|
|
_KаShpErovskiI_
Сообщений: 30
Оценки: 0
Присоединился: 2006-12-29 15:40:44.210000
|
Дело в том что жизнь сессии ровна 5-и минутам. В принципе эта позиция решает вопрос света.
|
|
|
RE: MAC IP and PHP - 2007-01-12 16:28:57.736666
|
|
|
Lex_Voodoo
Сообщений: 7328
Оценки: 0
Присоединился: 2004-12-07 13:55:12
|
По умолчанию таймаут сессии равен 24 минутам. Настроить, конечно, можно на сколько угодно, но в любом случае необходимо где-то хранить связку "логин + время последнего посещения", одним полем типа bool тут не обойдёшься. Возможно, стоит добавить ещё и проверку по IP, чтобы исключить возможность входа с другого компьютера.
|
|
|
RE: MAC IP and PHP - 2007-01-13 02:13:50.720000
|
|
|
_KаShpErovskiI_
Сообщений: 30
Оценки: 0
Присоединился: 2006-12-29 15:40:44.210000
|
Я с тобой полностью согласен :) вобщето между нами говоря $ip = getenv("REMOTE_ADDR"); $browser = getenv("HTTP_USER_AGENT"); это тоже хватило бы я так думаю
|
|
|
|
|