Капча з оновленням
Відео: FreeBitcoin - Bot - Новий Скрипт - Бот - Капча на Автоматі
Відео: reCAPTCHA - Проблеми | Будь ласка, спробуйте | reCaptcha не працює | Рішення проблеми 2017
Капча служить для захисту від роботів, які в автоматичному режимі спамлять сайти. В першу чергу, це відноситься до сайтів на готових движках. На жаль, їх навіть капчи не рятують (якщо в мережі виявилося опис "дірки" в двигуні). Але якщо Ваш сайт вже досить популярний, то обов`язково знайдуться люди, охочі пропіаритися за Ваш рахунок. Вони напишуть скрипт спеціально під Ваш движок і заспамілі Ваш сайт все одно. Для захисту від цього необхідно ставити капчи. Однак, не завжди капчи генеруються добре, через що навіть людина не може її розшифрувати. У зв`язку з цим, я рекомендую робити капчу з оновленням. Тобто якщо людина не може її розшифрувати, то він тисне кнопку "оновити", І код стає іншим. Ось саме реалізацію цього ми і розберемо в цій статті.
Для початку розберемо код генерації капчи. У нас є шрифт таким шляхом: "fonts / verdana.ttf". Тепер створимо файл captcha.php з наступним кодом:
lt ;?php
session_start() -// Починаємо сесію
$ string =""-
for($ i =0- $ i lt;5- $ i++)
$ string .= chr(rand(97,122)) -// Генерація випадкової рядки
$ _SESSION[`Rand_code`]= $ string-// Записуємо код в сесію
$ dir ="Fonts /"-// Шлях до папки зі шрифтом
$ image = imagecreatetruecolor(170,60) -// Створюємо зображення
$ color = imagecolorallocate($ image,200,100,90) -// Створюємо колір тексту
$ white = imagecolorallocate($ image,255,255,255) -// Створюємо колір фону
imagefilledrectangle($ image,0,0,170,60, $ white) -// Зафарбовуємо зображення
imagettftext ($ image,30,0,10,40, $ color, $ dir."Verdana.ttf", $ _SESSION[`Rand_code`]) -// Малюємо текст на капчі
header("Content-type: image / png") -// Відправляємо заголовок з типом вмісту
imagepng($ image) -// Виводимо картинку
?gt;
По суті, даний скрипт включається в себе 3 стадії:
- генерацію випадкової рядки і запис її в сесію.
- малювання картинки.
- Відправлення заголовка і висновок картинки.
Всі ці 3 пункти можуть бути по-різному реалізовані в різних капчу, однак, все 3 стадії завжди присутні. Можете взяти який-небудь готовий код з генерацією складної, але в той же час читабельною капчи. В даному прикладі, розглянутий лише найпростіший варіант.
Тепер займемося висновком капчи. Робиться це дуже просто:
src="Captcha.php"alt=""/ Gt;
І тепер займемося кнопкою "оновити". Фактично, все, що нам потрібно - це оновлювати src у тега img з капчі. Але постійно оновлювати src на "captcha.php"Результату не вийде, оскільки браузер не буде оновлювати нічого (він же не знає, що картинка за тією ж адресою вже буде інший). Тому потрібно оновлювати з яким-небудь випадковим GET-параметром.
Відео: Оновлення всіх скриптів !!! Дуже важливо!!!
Ось як це робиться:
src="Captcha.php"alt=""id="Captcha"/ Gt;
style="border-bottom:1px dashed # F00- color: # f00- cursor: pointer-"onclick="document.getElementById(`Captcha`).src =`Captcha.php?`+Math.random()"gt;оновити
Як бачите, при кліці по посиланню "оновити"У нас змінюється атрибут src у тега img з капчі. плюс src кожен раз різний. Це ніякого впливу на саму капчу не робить (якщо ми того не схочемо, звичайно, обробивши GET-параметри в captcha.php), Однак, для браузера це нова картинка, тому він її заново підвантажує. В captcha.php створюється новий код, він заново записується в сесію, малюється заново картинка і після повертається в тег img.
Ось таким чином робиться капча з оновленням без перезавантаження самої сторінки.
- Що таке сайт під ключ
- Як захиститися від ddos-атак
- Скільки днів живе сайт?
- Як дізнатися ip-адреса відвідувача через php
- Як убезпечити сайт
- Як створити генератор трафіку?
- Як створити соціальну мережу
- Редирект на jаvascript
- Замок за шаблоном на jаvascript.
- Скрипт виведення новин на php
- Капча з арифметичними операціями
- Png в ie6
- Сайт з www і без
- Малювання тексту в php
- Движок (конструктор) або сайт з нуля?
- Php
- Скрипт додавання в обране
- Капча на php
- Скрипт гостьової книги на php
- Скрипт форми зворотного зв`язку
- Joomla vs сайт з нуля