software:development:demo:cms:ucms:appendix:appendix_blacklist
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| software:development:demo:cms:ucms:appendix:appendix_blacklist [2026/02/12 22:19] – VladPolskiy | software:development:demo:cms:ucms:appendix:appendix_blacklist [2026/02/14 23:26] (текущий) – [spam_list.txt] VladPolskiy | ||
|---|---|---|---|
| Строка 12: | Строка 12: | ||
| <code txt spam_list.txt> | <code txt spam_list.txt> | ||
| - | 192.168.1.1 | + | dead |
| - | 10.0.0.5 | + | fuck |
| - | 172.16.0.100 | + | |
| </ | </ | ||
| Строка 32: | Строка 31: | ||
| // Собираем данные формы (например, | // Собираем данные формы (например, | ||
| - | $comment = $_POST[' | + | $comment = $_POST[' |
| // Проверяем данные на наличие спама | // Проверяем данные на наличие спама | ||
| Строка 48: | Строка 47: | ||
| </ | </ | ||
| + | === block_spam_test.php ==== | ||
| + | <code php block_spam_test.php> | ||
| + | <form action=" | ||
| + | <input type=" | ||
| + | <input type=" | ||
| + | </ | ||
| + | |||
| + | <?php | ||
| + | if ($_SERVER[" | ||
| + | // Получаем и выводим данные | ||
| + | $name = $_POST[' | ||
| + | echo " | ||
| + | } | ||
| + | ?> | ||
| + | </ | ||
| + | <note shadow> | ||
| + | <note shadow> | ||
| + | Ввведем слово из спам листа | ||
| + | <note shadow> | ||
| + | <note shadow> | ||
| ===== User-Agent (Проверка Ботов) ===== | ===== User-Agent (Проверка Ботов) ===== | ||
| Блокировка ботов в PHP осуществляется путем проверки строки User-Agent в запросе $ _SERVER[' | Блокировка ботов в PHP осуществляется путем проверки строки User-Agent в запросе $ _SERVER[' | ||
| Строка 95: | Строка 114: | ||
| ===== Блокировка по IP ===== | ===== Блокировка по IP ===== | ||
| ==== block.php ==== | ==== block.php ==== | ||
| - | <code php block.php> | + | <code php block_ip.php> |
| <?php | <?php | ||
| // Путь к файлу черного списка | // Путь к файлу черного списка | ||
| $blacklistFile = ' | $blacklistFile = ' | ||
| + | |||
| + | |||
| + | // Зададим функцию получения значения IP адреса | ||
| + | function get_ip_list() | ||
| + | { | ||
| + | $list = array(); | ||
| + | if (!empty($_SERVER[' | ||
| + | $ip = explode(',', | ||
| + | $list = array_merge($list, | ||
| + | } elseif (!empty($_SERVER[' | ||
| + | $ip = explode(',', | ||
| + | $list = array_merge($list, | ||
| + | } elseif (!empty($_SERVER[' | ||
| + | $list[] = $_SERVER[' | ||
| + | } | ||
| + | $list = array_unique($list); | ||
| + | return implode(',', | ||
| + | } | ||
| // Получаем IP посетителя | // Получаем IP посетителя | ||
| - | $visitorIp = $_SERVER[' | + | $visitorIp = get_ip_list(); |
| + | // Выводим IP посетителя | ||
| + | echo $visitorIp; | ||
| + | echo "< | ||
| // Читаем файл в массив, | // Читаем файл в массив, | ||
| if (file_exists($blacklistFile)) { | if (file_exists($blacklistFile)) { | ||
| $blacklist = file($blacklistFile, | $blacklist = file($blacklistFile, | ||
| + | |||
| // Проверяем, | // Проверяем, | ||
| - | | + | // Фильтрация по диапазону |
| + | // 185.219.157.127 // Отдельный IP | ||
| + | // 185.219.*.127 | ||
| + | foreach ($blacklist as $blocked_ip) { | ||
| + | // Преобразуем маску с * в регулярное выражение | ||
| + | $pattern = '/ | ||
| + | |||
| + | | ||
| header(' | header(' | ||
| die(' | die(' | ||
| } | } | ||
| + | } | ||
| } | } | ||
| - | |||
| // ... остальной код сайта | // ... остальной код сайта | ||
| echo " | echo " | ||
| Строка 124: | Строка 171: | ||
| 10.0.0.5 | 10.0.0.5 | ||
| 172.16.0.100 | 172.16.0.100 | ||
| + | 185.219.157.127 | ||
| </ | </ | ||
| Проверяем браузер | Проверяем браузер | ||
| <note shadow> | <note shadow> | ||
| + | |||
| + | <code txt blacklist.txt> | ||
| + | 192.168.1.1 | ||
| + | 10.0.0.5 | ||
| + | 172.16.0.100 | ||
| + | 185.219.157.128 | ||
| + | </ | ||
| + | Проверяем браузер | ||
| + | <note shadow> | ||
| + | |||
| + | <code txt blacklist.txt> | ||
| + | 192.168.1.1 | ||
| + | 10.0.0.5 | ||
| + | 172.16.0.100 | ||
| + | 185.219.157.* | ||
| + | </ | ||
| + | Проверяем браузер | ||
| + | <note shadow> | ||
| ===== Дополнения и Файлы ===== | ===== Дополнения и Файлы ===== | ||
| * {{ : | * {{ : | ||
software/development/demo/cms/ucms/appendix/appendix_blacklist.1770923978.txt.gz · Последнее изменение: — VladPolskiy
