Думаю, про такой метод, как “подмена полей” все слышали. Ну, если и не все, то очень многие. Достаточно муторный, но действенный метод. Единственный косяк – с этим методом можно забыть про автоматическое обновление движка. Только вручную и только с повторением этой процедуры после каждого обновления.
SunChaser как-то обмолвился про несколько иной (хотя и похожий) метод: подмена файлов. Суть в чём? За добавления комментария отвечает файл wp-comments-post.php и спамеры (авто) отправляют запрос именно к нему. Если за комментирование будет отвечать другой файл, то автоспам не пройдёт.
Исходи из этого, есть как минимум два варианта решения.
- ВАРИАНТ № РАЗ.
- создаём в корне файлик wp-comments-antispam.php (название может быть любое, даже лучше, что бы у всех было индивидуальное) со следующим содержимым:
< ?php include('wp-comments-post.php'); ?>
- в корне же находим .htaccess и вставляем строки:
<files wp-comments-post.php> order allow,deny deny from all </files>
- в корне же открываем wp-config.php и добавляем строку:
define('OPENID_COMMENTS_POST_PAGE', 'wp-comments-antispam.php');
- ну, и заключительный шаг.
Тут уже зависит от вашей темы. Скорее всего, это будет файл comments.php в каталоге текущей темы.
Находим строку, начинающуюся так: - ВАРИАНТ № ДВА.
- переименовываем в корне файлик wp-comments.php в wp-comments-antispam.php;
- в корне же открываем wp-config.php и добавляем строку:
define('OPENID_COMMENTS_POST_PAGE', 'wp-comments-antispam.php');
- находим comments.php в каталоге текущей темы.
Находим строку, начинающуюся так:
Собственно, всё. Воспользовался этим методом – пока ни одного спамерского камента не было.
Касательно обновлений – как я понимаю, после каждого обновления нужно только повторить пп. 3.
- Собственно, SunChaser обмолвился о переименовании файла без подробностей. Алгоритм действий, как я понимаю, несколько проще:
Как видите, отличается только первый пункт и второй вообще не нужен. Но этот способ я не проверял.
Вобщем, берём на вооружение, воплощаем и делимся впечатлениями.
ЗЫ И не забываем, что плагин добавл лишний пробел в первом блоке кода между “< " и "?". Пробел удалить.
UPD: хауту от афтара метода.
> после каждого обновления нужно только повторить пп. 3.
не, не надо. конфиг ж не переписывается
> Алгоритм действий, как я понимаю, несколько проще
да, истинно так. но надо будет переименовывать после каждого обновления =) поэтому неудобнее
да, подправь пункт 2 в 1 способе. так ты закроешь весь блог на доступ 😉
SunChaser :
пля… Часть строк съелась. 🙁
@ Dandr: т.е. невидимую капчу ты не попробовал ?
Алексей Рязанцев :
Нет. Я эту методу вчера вечером как раз прикручивал.
Я правильно понимаю, что с первым способом обновляться можно автоматически?
И плагин для цитирования будет работать?
Ptah :
да
Ptah :
да.
@ Dandr:
@ SunChaser:
Круто! Спасибо, сегодня же обязательно попробую! 🙂
@ Ptah:
на здоровье)))
эмм… не нашел у себя файла .htaccess
может я не там ищу?
@ Ptah:
либо он в инвизе, либо создай =)
у тебя, гляжу, rewrite не включен, его вполне может и не быть
@ SunChaser: насчет инвиза я тоже подумал, но через cpanel не нашел функцию включить видимость. Дома через фтп гляну.
Насчет rewrite нифига не понял, скажи по-русски, я же чайник 🙂
@ Ptah:
у апача есть такая функциональность — превращать ссылки something.com/engine.php?article=my-cool-atricle в something.com/articles/my-cool-article.html
или даже вот http://www.dandr.su/?p=8500 в http://www.dandr.su/2009/12/01/kak-izbezhat-avtospama-v-wordpresse/
чтобы это работало надо несколько строк в .htaccess, который по сути конфиг апача для данной папки. у тебя это отключено в блоге, так что вполне файла может и не быть. хотя вроде как должен вообще-то… странно. думаю, он всё же просто скрыт
http://www.dandr.su/?p=8900 на самом деле 😀
@ SunChaser: насчет таких ссылок, то это, насколько я знаю плагин такой. А файл поищу дома, должен быть – найдем 🙂
@ Ptah:
не, не плагин. это настраивается на http://ptah-blog.com/wp-admin/options-permalink.php
он вставляет в .htaccess такой обработчик:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
плагин лишь меняет кириллицу в пермалинках на латинницу. он называется transliterado
@ SunChaser: хм, действительно. Давно это так? Может в ранних версиях не было?
Реально видел такой плагин. 🙂
В 2.6 было. за еще более ранние не отвечаю. может, плагинописатели не умеют копаться в настройках? 😀
или он делает что-нибудь слегка другое. или слегка подругому, например когда злые хостеры не дают допуска к .htaccess (хотя я не представляю как это тогда)
SunChaser :
ах, воот почему на локалхосте у меня ЧПУ не работают… 🙂