Капча з оновленням

Відео: 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 стадії:

  1. генерацію випадкової рядки і запис її в сесію.
  2. малювання картинки.
  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.

Ось таким чином робиться капча з оновленням без перезавантаження самої сторінки.

Поділися в соціальних мережах:

Схожі
Як створити генератор трафіку?Як створити генератор трафіку?
Скільки днів живе сайт?Скільки днів живе сайт?
Як дізнатися ip-адреса відвідувача через phpЯк дізнатися ip-адреса відвідувача через php
Сайт з www і безСайт з www і без
Joomla vs сайт з нуляJoomla vs сайт з нуля
Редирект на jаvascriptРедирект на jаvascript
Скрипт додавання в обранеСкрипт додавання в обране
Як створити соціальну мережуЯк створити соціальну мережу
Замок за шаблоном на jаvascript.Замок за шаблоном на jаvascript.
Малювання тексту в phpМалювання тексту в php
» » Капча з оновленням