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

}
else()

\\правильно говорю?!
ska ska ska
#4. Gemor
Гость
2008.06.10 08:08
Код:
if(){
}
else{
}
#5. denich Off (0)
Участник
2008.06.10 20:08
почти)))
ska ska ska
#6. Sanya69
Гость
2008.06.28 23:11
ну и каким же образом можно обойти "такую защиту", м ?
#7. Gemorroj Off (107)
Administrator
2008.07.02 17:05
просто передавать самому 2 верных значения)
#8. denich Off (0)
Участник
2008.07.05 13:01
ммм) вот мне тож понадобилось такое) вообщем как зделать этот проверочный еод в гостевухе? не картинкой а текстом? вот // wsahfvb если быть точнее.
ska ska ska
#9. Gemorroj Off (107)
Administrator
2008.07.05 19:07
упрощенно так:
добавь hidden поле в форму и передавай в нем тоже число.
далее скриптом который получает данные из формы сверь число которое ввел пользователь и то значение, которое бло в hidden поле формы.
ну и соответственно если не совпало, то число введено не верно.
#10. denich Off (0)
Участник
2008.07.07 16:04
не, чтобы число тоже менялось, каждый раз, как кто-нибудь зайдёт в написать...
ska ska ska
#11. Gemorroj Off (107)
Administrator
2008.07.08 10:10
Код:
span style="color: #0000BB"><?php$key = rand(1000,99999);print $key;?>
#12. denich Off (0)
Участник
2008.07.08 12:12
так.
данные принимаю\обрабатываю так:
Код:
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 15:03
замени
Код:
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 20:08
работает)
ska ska ska
#15. denich Off (0)
Участник
2008.07.10 12:12
хм)) Димка Котеров пишет, что про использование функции 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 13:01
спс учтемс)
на сколько я помню у rand'а ограничение на максимальное число небольшое. а что подразумевается под "качеством" случайных чисел там не написано?
#17. denich Off (0)
Участник
2008.07.10 13:01
неа, ненаписано..
ska ska ska
Страниц: 1 2 Все
Главная
WEB
PunBB Mod v0.6.2
0.017 s