ФорумПрограммированиеPHP для идиотов → Защита скриптов...

Защита скриптов...

  • }/{EHR

    Сообщения: 734 Репутация: N Группа: Адекваты

    Spritz 6 декабря 2008 г. 12:30

    Вот есть у меня некая форма, например добавления новостей на сайт. После того как я нажимаю отправить, все данные передаются скрипту, который добавляет новость в mysql. Как защитить этот скрипт, от очень любопытных пользователей?
  • md5

    Сообщения: 11948 Репутация: N Группа: в ухо

    Spritz 6 декабря 2008 г. 12:33, спустя 2 минуты 45 секунд

    авторизация, сессии знакомы?
    все умрут, а я изумруд
  • }/{EHR

    Сообщения: 734 Репутация: N Группа: Адекваты

    Spritz 6 декабря 2008 г. 12:34, спустя 50 секунд

    Тупо проверить на куки?
  • }/{EHR

    Сообщения: 734 Репутация: N Группа: Адекваты

    Spritz 6 декабря 2008 г. 12:35, спустя 1 минуту 33 секунды

    И еще нужно защитить от повторного добавления новости ))
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 6 декабря 2008 г. 12:36, спустя 44 секунды

    Как защитить этот скрипт, от очень любопытных пользователей?

    Защитить от чего? Не от кого, а от чего?
    adw/0
  • }/{EHR

    Сообщения: 734 Репутация: N Группа: Адекваты

    Spritz 6 декабря 2008 г. 12:38, спустя 1 минуту 37 секунд


    Как защитить этот скрипт, от очень любопытных пользователей?

    Защитить от чего? Не от кого, а от чего?
    Какой-нибудь пользователь, возьмет и откроет прямой ссылкой этот скрипт, и он будет добавлять пустые строчки…
  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 6 декабря 2008 г. 12:56, спустя 18 минут 29 секунд

    Ну проверяйте на добавление пустых строк.
    Это в первую очередь.
    Если просто от любопытных пользователей, то можно проверять с какой страницы пришел пользователь, если с нужной, то добавляем.
  • md5

    Сообщения: 11948 Репутация: N Группа: в ухо

    Spritz 6 декабря 2008 г. 12:57, спустя 56 секунд

    в таких скриптах проверять доступ пользователя, открывшего урл
    все умрут, а я изумруд
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 6 декабря 2008 г. 20:59, спустя 8 часов 1 минуту 47 секунд

    используй $_POST. никогда для форм работы с пользователем не используй $_REQUEST. и вообще забудь про этот массив. + конечно же сессия и куки. а проверка на пустоту - if(!$_POST) { die("hack attept");}
    Сапожник без сапог
  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 6 декабря 2008 г. 23:50, спустя 2 часа 51 минуту 26 секунд

    А $_SERVER['HTTP_REFERER'] использовать можно?
    Да, его можно и подделать, но и пост и куки тоже подделать можно.
    А вообще нужно использовать все тут перечисленное в совокупности.
    Так, на всякий пожарный ;)
  • md5

    Сообщения: 11948 Репутация: N Группа: в ухо

    Spritz 7 декабря 2008 г. 0:06, спустя 15 минут 24 секунды


    А $_SERVER['HTTP_REFERER'] использовать можно?
    Да, его можно и подделать, но и пост и куки тоже подделать можно.
    А вообще нужно использовать все тут перечисленное в совокупности.
    Так, на всякий пожарный ;)
    не нужно никаких пожарных

    авторизовали пользователя, поставили флаг в сессию, всё!
    все умрут, а я изумруд
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 7 декабря 2008 г. 0:26, спустя 20 минут 28 секунд



    А $_SERVER['HTTP_REFERER'] использовать можно?
    Да, его можно и подделать, но и пост и куки тоже подделать можно.
    А вообще нужно использовать все тут перечисленное в совокупности.
    Так, на всякий пожарный ;)
    не нужно никаких пожарных

    авторизовали пользователя, поставили флаг в сессию, всё!
    соглашусь . поддерживать рефере- для параноиков + его то подделать самый простой вариант из перечисленно господином профессором.
    Сапожник без сапог
  • artoodetoo

    Сообщения: 5139 Репутация: N Группа: в ухо

    Spritz 7 декабря 2008 г. 0:34, спустя 7 минут 21 секунду

    1. проверка на валидность принимаемых значений (в т.ч. на непустоту) это must have полюбому!
    2. писать только авторизованным или заполнившим какую-то капчу + обратный емайл
    3. сохранять время когда юзер отправлял форму последний раз. разрешать не чаще чем раз в X секунд (X установить опытным путем). для гостя признак узнавания - его емайл. сталобыть на автомате несколько кликов подряд - не получится.

    специально сравнивать не совпадает ли весь текст с предыдущим - дурной тон, imho.
    реферер - впесду. его может и не быть и что тогда?

    злопыхатель все может подделать. хуже когда невинный посетитель страдает из-за неграмотной реализации
    ιιlllιlllι унц-унц
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 7 декабря 2008 г. 0:48, спустя 14 минут 15 секунд


    злопыхатель все может подделать. хуже когда невинный посетитель страдает из-за неграмотной реализации
    золотые СЛОВА!
    Сапожник без сапог
  • Professor

    Сообщения: 2089 Репутация: N Группа: Адекваты

    Spritz 7 декабря 2008 г. 0:57, спустя 8 минут 40 секунд

    авторизовали пользователя, поставили флаг в сессию, всё!

    Человек боится за уже зарегистрированнх пользователей
    Какой-нибудь пользователь, возьмет и откроет прямой ссылкой этот скрипт, и он будет добавлять пустые строчки…

    Мы его зарегистрировали, поставили флаг, а он прямым линком функции стал запускать.
    Тут либо вы не поняли, либо я.
    поддерживать рефере- для параноиков

    Может быть=) никогда не пользовался, а тут мысль пришла.
    }/{EHR изначально сказал что это от любопытных пользователей.Они врядли будут рефере подделывать =)
    его может и не быть и что тогда?

    его не может не быть.
    Если его нет то скрипт не запускать, так как юзверь зашел по прямой ссылке.

    На мой НЕпрофессиональный взгляд реферер это самый простой способ в данном случае и при данной задаче. И естественно не самый безопасный (тут нельзя не согласиться =))

Пожалуйста, авторизуйтесь, чтобы написать комментарий!