Помощь [help] логин по ip

Тема в разделе "DLE", создана пользователем clif, 18 ноя 2008.

Информация :
Актуальная версия DataLife Engine 11.2
( Final Release v.11.2 | Скачать DataLife Engine | Скачать 11.2 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.1 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. clif

    clif Постоялец

    Регистр.:
    10 сен 2007
    Сообщения:
    120
    Симпатии:
    4
    от темы [help] 1 логин = 1 IP

    есть локальная сеть ... и хотелось бы что бы лог он осуществлялся автоматически по определению Ip адреса

    то есть механизм работы следеющий ...

    В админке заводим пользователя ... Имя ip и прочее
    При входе на сайт пользователь автоматически авторизован
    Если пользователь не заведен в базу то он может зарегистрироваться самостоятельно
     
  2. z3rg

    z3rg

    Регистр.:
    2 фев 2007
    Сообщения:
    731
    Симпатии:
    336
    Создаешь ечейку в базе с ip и делаешь проверку при заходе юзера на сайт если совпал ип - авторизация если нет то нет. Тут нет ничего сложного. А в админке а редактировании юзера довбавь ячейку соответственную.
     
  3. clif

    clif Постоялец

    Регистр.:
    10 сен 2007
    Сообщения:
    120
    Симпатии:
    4
    пасиб за идею ...
    проблема с проверкой ip
    добавить ячейку и в админке поле добавить не проблема
     
    unixrx нравится это.
  4. unixrx

    unixrx Создатель

    Регистр.:
    29 сен 2007
    Сообщения:
    27
    Симпатии:
    2
    В смысле? не знаешь как сделать? Ищи в БД. Когда редактируешь пользователя, то пишется ласт айпи значит где-то он сохраняется.
     
  5. Lord Yreey

    Lord Yreey Писатель

    Регистр.:
    14 авг 2007
    Сообщения:
    7
    Симпатии:
    1
    Когда писал модуль сбора статистики по скачиванию файлов, правил download.php:

    if (version_compare($config['version_id'], '5.3', ">=")) {
    if ($_SERVER['HTTP_X_FORWARDED_FOR']) $_IP = $db->safesql($_SERVER['HTTP_X_FORWARDED_FOR']); else $_IP = $db->safesql($_SERVER['REMOTE_ADDR']);
    } else {
    if ($_SERVER['HTTP_X_FORWARDED_FOR']) $_IP = mysql_escape_string($_SERVER['HTTP_X_FORWARDED_FOR']); else $_IP = mysql_escape_string($_SERVER['REMOTE_ADDR']);
    }
    $db->query("UPDATE " . PREFIX . "_files set dip='$_IP' where id ='$id'");

    соответственно, $_IP и есть АйПи посетителя, а строка
    $db->query("UPDATE " . PREFIX . "_files set dip='$_IP' where id ='$id'");
    соответственно заносит это значение в базу (предварительно было создано поле dip в таблице _files).

    Только тебе по идее это нужно делать в login.tpl - он позволяет работать с ПХП.

    ну а дальше уже сравнивай по идее с $member_id['logged_ip'] - этот АйПи хранится в таблице _users, он и отвечает за последний удачный логин.
     
  6. kwin

    kwin

    Регистр.:
    22 авг 2007
    Сообщения:
    413
    Симпатии:
    167
    ох зря вы доверяете HTTP_X_FORWARDED_FOR ... зря
     
  7. clif

    clif Постоялец

    Регистр.:
    10 сен 2007
    Сообщения:
    120
    Симпатии:
    4
    стоп ...
    2unixrx не все так просто ... в базу заносится IP когда пользователь НАПИСАЛ сообщение ... а не залогинился ...

    второе ...
    HTTP_X_FORWARDED_FOR доверять не зя ... согласен ) ... хотя будет работать как вариант ) но не собрать статистику ... то есть ячейка перезапишется и все
     
  8. Demon425

    Demon425

    Регистр.:
    9 июл 2008
    Сообщения:
    439
    Симпатии:
    96
    т.е. вообще без пароля ? а если я себе IP сменю, либо подменяю ? каким образом бует защищен админский аккаунт ? 127.0.0.1 ? это не вариант ...
     
  9. FL@SH

    FL@SH Читатель

    Заблокирован
    Регистр.:
    20 июл 2008
    Сообщения:
    193
    Симпатии:
    25
    Мимо :-] То, что в этом файле разрешон пхп - это да, но он ВСЕРАВНО ОСТАЁТСЯ ШАБЛОНОМ и просто выводит форму авторизации или юзерпанель.. Редактировать нужно engine/modules/sitelogin.php
    Именно этот файл отвечает за авторизацию юзера
     
  10. clif

    clif Постоялец

    Регистр.:
    10 сен 2007
    Сообщения:
    120
    Симпатии:
    4
    как на счет такой идеии ... есть автологин а есть по ip то есть заходим и по дефолту становимся пользователем ... нам сразу предлогают заполнить наш профиль ... а вход в аминку проверяется стандарно логин+пасс
     
Статус темы:
Закрыта.