Вы не зашли.
Главная » PHP » Проверочный код
#1. PR0Z0N Off (0)
Участник
2008.06.08 11:11
П0дскажите каг замутить текстовый проверочный код?
#2. Gemorr
Гость
2008.06.09 04:04
серьезную защиту таким образом не сделаешь. отображай проверочное число как текст и еще нужно его передать скрипту, чтобы знать с чем сверять то, что ввел пользователь. единственный нормальный способ, это передавать число через сессию, иначе обойти такую "защиту" будет ну совсем уж просто.
все эти проверочные строятся на простом алгоритме - передается 2 значения, первое - то что ввел пользователь, второе - то что есть на самом деле. и далее скрипт сверяет эти значения.
#3. denich Off (0)
Участник
2008.06.09 18:06
if()
{

}
else()

\\правильно говорю?!
ska ska ska
#4. Gemor
Гость
2008.06.10 04:04
Код:
if(){
}
else{
}
#5. denich Off (0)
Участник
2008.06.10 16:04
почти)))
ska ska ska
#6. Sanya69
Гость
2008.06.28 19:07
ну и каким же образом можно обойти "такую защиту", м ?
#7. Gemorroj Off (107)
Administrator
2008.07.02 13:01
просто передавать самому 2 верных значения)
#8. denich Off (0)
Участник
2008.07.05 09:09
ммм) вот мне тож понадобилось такое) вообщем как зделать этот проверочный еод в гостевухе? не картинкой а текстом? вот // wsahfvb если быть точнее.
ska ska ska
#9. Gemorroj Off (107)
Administrator
2008.07.05 15:03
упрощенно так:
добавь hidden поле в форму и передавай в нем тоже число.
далее скриптом который получает данные из формы сверь число которое ввел пользователь и то значение, которое бло в hidden поле формы.
ну и соответственно если не совпало, то число введено не верно.
#10. denich Off (0)
Участник
2008.07.07 12:12
не, чтобы число тоже менялось, каждый раз, как кто-нибудь зайдёт в написать...
ska ska ska
#11. Gemorroj Off (107)
Administrator
2008.07.08 06:06
Код:
span style="color: #0000BB"><?php$key = rand(1000,99999);print $key;?>
#12. denich Off (0)
Участник
2008.07.08 08:08
так.
данные принимаю\обрабатываю так:
Код:
if((!isset($_POST['key']) || $_POST['key']!=$key)) shit_happened('<center><span style="color: red">Heвepнo ввeдён зaщитный кoд</span></center>');

а там где вывожу написал так:
Код:
$key = rand(1000,9999);
echo "<span style=\"color: red\">*</span> введите код
<span style=\"color: #0112b8\">$key</span>:<br />
<input type=\"hidden\" name=\"key\" value=\"$key\"/>
<input type=\"text\" name=\"key\" maxlength=\"10\" size=\"5\"/><br /><br />";

итог: у меня неработает)) ну эт я неправильно зделал чё та))
Добавлено спустя   2 минуты  14 секунд:
всмысле работает.. если незаполнить это поле), а вот если ещё и правильно это поле я заполнил, то всё равно пишет "неверно введён защитный код"

итог: ну эт я чёта неправильно зделал)
ska ska ska
#13. Gemorroj Off (107)
Administrator
2008.07.08 11:11
замени
Код:
span style="color: #0000BB"><?phpif($_POST['key'] != $_POST['rand']){shit_happened('<center><span style="color: red">Heвepнo ввeдён зaщитный кoд</span></center>');}$key = rand(1000,9999);echo '<span style="color: red">*</span> введите код <span style="color: #0112b8">'.$key.'</span>:<br /><input type="hidden" name="rand" value="'.$key.'"/><input type="text" name="key" maxlength="10" size="5"/>';?>
#14. denich Off (0)
Участник
2008.07.08 16:04
работает)
ska ska ska
#15. denich Off (0)
Участник
2008.07.10 08:08
хм)) Димка Котеров пишет, что про использование функции rand() лучше навсегда забыть!)
лучше, говорит, использавать mt_rand()

Код:
span style="color: #0000BB"><?php$key = mt_rand(1000,9999);print $key;?>
Добавлено спустя   4 минуты  19 секунд:
"Мы намеренно не рассматриваем функции rand() и srand()? потому что качество случайных чисел, которые они выдают, никуда не годится. Настоятельно рекомендуем вместо них использовать описанные ниже функции, а про rand() вообще забыть." - Димка Котеров
ska ska ska
#16. Gemorroj Off (107)
Administrator
2008.07.10 09:09
спс учтемс)
на сколько я помню у rand'а ограничение на максимальное число небольшое. а что подразумевается под "качеством" случайных чисел там не написано?
#17. denich Off (0)
Участник
2008.07.10 09:09
неа, ненаписано..
ska ska ska
Страниц: 1 2 Все
Главная
WEB
PunBB Mod v0.6.2
0.022 s