[help] защита на сессиях

Тема в разделе "PHP", создана пользователем Ser Frood, 3 окт 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Ser Frood

    Ser Frood Заблокирован

    Регистр.:
    12 дек 2006
    Сообщения:
    519
    Симпатии:
    384
    Имеятся на моём сайте форма с пост запросом! плз папишите маленький скриптик как с помощью сессий защитить его то есть чоб никто с других серваком не смог послать к скрипту пост запрос! спс =)
     
  2. Liver

    Liver

    Регистр.:
    24 сен 2008
    Сообщения:
    316
    Симпатии:
    91
    УУУУУУ

    1 Нельзя так просить. Можно попросить разобраться. Но просить за вас написать... - смотрите название раздела. Цените чужое время и чужой труд. Вот, например, я могу помочь натолкнуть на верное решение, но делать за кого то извините. Вы так ничему не научитесь. Предлагаю учесть это на будущее.
    2. Закрыть сессиями запрос со стороны нереально
    3. Это делается капчей
     
  3. denover

    denover Постоялец

    Регистр.:
    5 июн 2008
    Сообщения:
    56
    Симпатии:
    7
    запиши в сесию
    $_SESSION[check_form] = rand(0, 999999999);

    в форму добавь
    <input type=hidden value=$_SESSION[check_form] name=check_form />

    при сабмите проверяй эти значения.

    Это самая простая защита.
     
  4. Ser Frood

    Ser Frood Заблокирован

    Регистр.:
    12 дек 2006
    Сообщения:
    519
    Симпатии:
    384
    >>при сабмите проверяй эти значения
    каким методом?)
    вот форма:

    PHP:
    echo "Введите номер заказа:<input value=\"\"  emptyok=\"false\" type=\"text\" name=\"num\" /><br/>";  
        echo 
    "текст: <input value=\"\" type=\"text\" emptyok=\"false\" name=\"txt\"  /><br/>";
        echo 
    "<anchor>Го";
        echo 
    "  <go href=\"index.php\" method=\"post\">";
        echo 
    "   <postfield name=\"phone\" value=\"$(num)\"/>";
        echo 
    "   <postfield name=\"sms\" value=\"$(txt)\"/>"
        
    echo "  </go>";
        echo 
    "</anchor>";
    PS: Liver удались...... :D
     
  5. Liver

    Liver

    Регистр.:
    24 сен 2008
    Сообщения:
    316
    Симпатии:
    91
    denover

    Не вводите в заблуждение. Это не защита. Аж 1 лишнюю строку в стороннем скрипте.

    Вот если бы сессии + хитрозамороченный яваскрипт на той стороне, то кому то лень будет в нем разбираться (хруммер может остановить) но для того, кому это надо - не преграда.

    И даже капчи не защита :)

    Наверно только абузы реальная защита на сегодняшний день.

    зы:Удаляюсь. Думать, что ты защищен и быть защищен - как говориться 2 большие разницы :) А проверить
    if($_SESSION[check_form]==$_POST[check_form]) ура свои
     
  6. Ser Frood

    Ser Frood Заблокирован

    Регистр.:
    12 дек 2006
    Сообщения:
    519
    Симпатии:
    384
    попробуй на булке создай тему пост запросом)))
    Защитат на сессии в массах...
     
  7. Liver

    Liver

    Регистр.:
    24 сен 2008
    Сообщения:
    316
    Симпатии:
    91
    Да, что я спамилок никогда не писал. Полная имитация кау у хруммера.
    1. регаемся. но я понимаю, что авторизации нет иначе бы и этого топика не было
    2 Грузим форму
    3. узнаем все данные сессии. Даже яваскрипт выполняем:)
    4 отправляем.

    И только капча реально обломала мне желание и я купил Хрумер:)
     
  8. Ser Frood

    Ser Frood Заблокирован

    Регистр.:
    12 дек 2006
    Сообщения:
    519
    Симпатии:
    384
    Мдя флуд кнеш... но впрос каким методом узнать имя сессии?
     
  9. Liver

    Liver

    Регистр.:
    24 сен 2008
    Сообщения:
    316
    Симпатии:
    91
    Вы защищаться собрались или взламывать? :D

    Информация о сессии доступна в хидере запроса, если это куки или в урле куда будет уходит форма, если передается в урле.

    Нужно удаленному скрипту просто загрузить форму и через хидеры он получит куки, а из формы получит значения hidden поля.
    Далее просто отправяет их назад. И сервер никогда не распознает, что это сделал не человек.

    Только капча на регистрации или на самой форме может реально помочь.

    Если вы защищаетесь от всяких спамилок, то яваскрипт тут может сослужить добрую службу. Если же под вашу форму пишут спамилку, то только капча.
     
  10. Ser Frood

    Ser Frood Заблокирован

    Регистр.:
    12 дек 2006
    Сообщения:
    519
    Симпатии:
    384
    чёто парился так и не получилось можете плз пример на сессия на форме пакaзать воть:

    PHP:
    echo "Введите номер заказа:<input value=\"\"  emptyok=\"false\" type=\"text\" name=\"num\" /><br/>";   
        echo 
    "текст: <input value=\"\" type=\"text\" emptyok=\"false\" name=\"txt\"  /><br/>"
        echo 
    "<anchor>Го"
        echo 
    "  <go href=\"index.php\" method=\"post\">"
        echo 
    "   <postfield name=\"phone\" value=\"$(num)\"/>"
        echo 
    "   <postfield name=\"sms\" value=\"$(txt)\"/>" 
        
    echo "  </go>"
        echo 
    "</anchor>"
     
Статус темы:
Закрыта.