[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Обращение к php-скрипту с генерацией hash
Эли4ка
Добрый день,дорогие форумчане!Сегодня разбирая передачу POST данных у ВКонтакте.заметила,что они исключили возможность DDOS-атаки на скрипт,передавая каждый раз скрипту еще и некий hash.То есть к передаваемым данным добавляется еще и проверка.Так вот как можно примерно такое же реализовать?потому что с сессиями не хочу,а передавать часть данных на jquery и одну переменную на php не очень удобно.Может есть примеры аналогичные,буду очень признательна.
P.S.Надо чтобы hash генерировался таким образом,чтобы скрипт-получатель смог его проверить и если вдруг злоумышленник решил от балды написать что-то,дкмая что пройдет,выдать отказ.. rolleyes.gif
P.S.S.Писать обратимую ф-ю думаю не очень оптимально.
Спасибо.



Спустя 1 час, 4 секунды (11.09.2012 - 06:36) Игорь_Vasinsky написал(а):
а для получения хеша используй md5() sha1()

Спустя 55 минут, 31 секунда (11.09.2012 - 07:32) johniek_comp написал(а):
Эли4ка
достаточно проверять реферер smile.gif

Спустя 51 минута, 47 секунд (11.09.2012 - 08:24) Эли4ка написал(а):
Игорь_Vasinsky
ну а вдруг их подберут,и потом разве md5,sha1 генерируется в js?
johniek_comp
его ведь можно и подделать а?

Спустя 3 минуты, 9 секунд (11.09.2012 - 08:27) Эли4ка написал(а):
и потом,эти ф-и являются необратимыми.как их скрип-получатель то проверит?

Спустя 8 минут, 48 секунд (11.09.2012 - 08:36) Игорь_Vasinsky написал(а):
в скрипте тоже хешь блин сверяй biggrin.gif

Спустя 34 минуты, 7 секунд (11.09.2012 - 09:10) Эли4ка написал(а):
Игорь_Vasinsky
да так и надо,но проблема,что генерировать то?у меня ведь незарегистрированный пользователь обращаться будет..

Спустя 1 час, 26 минут, 30 секунд (11.09.2012 - 10:36) killer8080 написал(а):
Эли4ка
Ты не правильно поняла, это не защита от DDoS, это защита от CSRF атак. И хеш этот должен генерится исключительно на стороне сервера. Иначе он смысла не имеет.

Спустя 1 час, 8 минут, 23 секунды (11.09.2012 - 11:45) Hello написал(а):
Цитата (Эли4ка @ 11.09.2012 - 09:10)
Игорь_Vasinsky
да так и надо,но проблема,что генерировать то?у меня ведь незарегистрированный пользователь обращаться будет..

Когда создается форма, на сервере генерируется случайный хеш и добавляется в форму. В БД пишется этот хэш и идентификатор пользователя(для гостей это может быть ip), которому данная форма была сгенерированна.
При отправке формы на сервере сверяются эти данные.
Пользователю совершенно не важно как данный хэш был сгенерирован.

Спустя 2 часа, 50 минут, 56 секунд (11.09.2012 - 14:35) Эли4ка написал(а):
killer8080
Цитата
Ты не правильно поняла, это не защита от DDoS, это защита от CSRF атак
Про DDoS это тоже сюда относится,ведь если у меня скрипт работает с базой,а ему по 5000 запросов в секунду,наверно это будет DDoS rolleyes.gif ,да про второе я совсем забыла rolleyes.gif rolleyes.gif
Цитата
И хеш этот должен генерится исключительно на стороне сервера. Иначе он смысла не имеет.
Да это я уже поняла,но как тогда передавать и js, и php данные одновременно? unsure.gif
P.S. и что можно шифровать у незарегистрированного пользователя,чтобы это было ну не очень просто подделать,
Hello,так как ip не очень надежно,а хранить все хеши в БД и потом их оттуда удалять это думаю не лучшая реализация..
Цитата
Пользователю совершенно не важно как данный хэш был сгенерирован.
,а вот злоумышленнику очень даже,ведь это его работа,и если бы все были простые пользователи,я бы вряд ли над этим мучилась..

Спустя 43 секунды (11.09.2012 - 14:36) Игорь_Vasinsky написал(а):
json, xml

Спустя 10 минут, 19 секунд (11.09.2012 - 14:46) killer8080 написал(а):
Цитата (Эли4ка @ 11.09.2012 - 14:35)
Про DDoS это тоже сюда относится,ведь если у меня скрипт работает с базой,а ему по 5000 запросов в секунду,наверно это будет DDo

От DDoS-а это не спасет, с ним борются сисадмины, на другом уровне, блокирую tcp коннекты с атакующих хостов.
Цитата (Эли4ка @ 11.09.2012 - 14:35)
Да это я уже поняла,но как тогда передавать и js, и php данные одновременно?

Токен обычно сразу вставляется в форму в скрытый инпут, но если это чисто аяксовое приложение, то также аяксом и подтягивается.
Цитата (Эли4ка @ 11.09.2012 - 14:35)
P.S. и что можно шифровать у незарегистрированного пользователя,чтобы это было ну не очень просто подделать,

Например так
$_SESSION['csrf_token'] = md5(
'salt text' .
$_SERVER['HTTP_USER_AGENT'] .
$_SERVER['REMOTE_ADDR'] .
microtime(1) .
getmypid()
);

Спустя 4 минуты, 32 секунды (11.09.2012 - 14:51) Игорь_Vasinsky написал(а):
ещё в хеш добавь

rand(0,99999)
:D

Спустя 10 минут, 19 секунд (11.09.2012 - 15:01) killer8080 написал(а):
Игорь_Vasinsky
да, точно, совсем забыл biggrin.gif

Спустя 15 минут, 26 секунд (11.09.2012 - 15:17) Эли4ка написал(а):
Цитата
json, xml

это куда?
Цитата
От DDoS-а это не спасет, с ним борются сисадмины, на другом уровне, блокирую tcp коннекты с атакующих хостов.

ну ведь я писала уже,что скрипт обращается к базе только после проверки хеша,то есть базу уже спасем хоть...
Цитата
Токен обычно сразу вставляется в форму в скрытый инпут, но если это чисто аяксовое приложение, то также аяксом и подтягивается.

немного не поняла,пойду поищу в Google..
Цитата
Например так
$_SESSION['csrf_token'] = md5(
    'salt text' .
    $_SERVER['HTTP_USER_AGENT'] .
    $_SERVER['REMOTE_ADDR'] .
    microtime(1) .
    getmypid()
);
,
Цитата
ещё в хеш добавь

rand(0,99999)
,а сервер то как это проверит на корректность,и на то что вдруг там вообще что-то левое ввели и обработали md5 ?
, laugh.gif laugh.gif laugh.gif

Спустя 1 час, 38 минут, 12 секунд (11.09.2012 - 16:55) DarkLynx написал(а):
При ДДОСе у вас в системе работает куча процессов апача из-за дикого количества запросов и как следствие система начинает виснуть виснуть и тд..


Спустя 14 минут, 14 секунд (11.09.2012 - 17:09) Hello написал(а):
Цитата
,а сервер то как это проверит на корректность,и на то что вдруг там вообще что-то левое ввели и обработали md5 ?
, laugh.gif  laugh.gif  laugh.gif

Поэтому я и предложил хранить случайно сгенерированный хэш в базе, и не заморачиваться.
Цитата (DarkLynx @ 11.09.2012 - 16:55)
При ДДОСе у вас в системе работает куча процессов апача из-за дикого количества запросов и как следствие система начинает виснуть виснуть и тд..

Вы всё еще используете апач?

Спустя 10 часов, 12 минут, 2 секунды (12.09.2012 - 03:21) Эли4ка написал(а):
Цитата
Поэтому я и предложил хранить случайно сгенерированный хэш в базе, и не заморачиваться.

а как его проверить,ведь пользователь то незарегистрированный, и привязку по ip,сессия не очень твердая опора..
Цитата
При ДДОСе у вас в системе работает куча процессов апача из-за дикого количества запросов и как следствие система начинает виснуть виснуть и тд..

а это тут при чем?

Спустя 4 часа, 22 минуты, 47 секунд (12.09.2012 - 07:44) Игорь_Vasinsky написал(а):
а у не зарегенного нет ни ip ни юзерагента??? которые тебе предложили для формирования хеша

Цитата
а это тут при чем?

тебе 10 раз сказали - Ddos занимается админ на уровне сервера, а не твои чудо скрипты защитники.

Спустя 1 минута, 9 секунд (12.09.2012 - 07:45) Игорь_Vasinsky написал(а):
Hello
нет. мы все кинулись искать хостера с IIS

Спустя 1 час, 41 минута, 22 секунды (12.09.2012 - 09:27) Эли4ка написал(а):
Цитата
а у не зарегенного нет ни ip ни юзерагента??? которые тебе предложили для формирования хеша

да,Вы правы,просто я думала,вдруг еще что есть для этого..
Цитата
тебе 10 раз сказали - Ddos занимается админ на уровне сервера, а не твои чудо скрипты защитники.

да я это поняла,я просто пост тот не поняла,зачем он рассказал принцип работы апача при DDoS ??
Цитата
нет. мы все кинулись искать хостера с IIS
biggrin.gif biggrin.gif

Спустя 15 минут, 30 секунд (12.09.2012 - 09:42) Игорь_Vasinsky написал(а):
biggrin.gif с утра дело было.. злой был..

Спустя 12 минут, 37 секунд (12.09.2012 - 09:55) killer8080 написал(а):
Цитата (Эли4ка @ 12.09.2012 - 03:21)
а как его проверить,ведь пользователь то незарегистрированный, и привязку по ip,сессия не очень твердая опора..

сессии достаточно твердая опора, если привязать их к ip.

Спустя 22 часа, 36 минут, 36 секунд (13.09.2012 - 08:31) Эли4ка написал(а):
Цитата
сессии достаточно твердая опора, если привязать их к ip.

killer8080,а можно пример,если Вас не затруднит..
Цитата
с утра дело было.. злой был..

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.