CSS и борьба со спамом
Изящный способ борьбы со спамом веб формах с помощью CSS. Хитрость заключается вот в чем: надо создать фиктивное поле в форме, скрытое с помощью CSS. Человек, пользующийся обычным браузером, это поле не увидит и не заполнит, в отличие от спам-бота, которые в большинстве своем CSS вообще не понимают. А дальше дело техники: серверный скрипт проверяет заполнено ли фиктивное поле и если оно заполнено — дает отлуп. Все просто и изящно, однако если будет применяться массово, то спам-боты научатся таки распознавать CSS и все вернется на круги своя.
Написано вот тут.
Вообще да, любой способ борьбы стоит именно на этом: чем штука массовей, тем больше выгоды ее сломать. Поэтому каждому приходится изобретать свой способ.
Я не так давно придумал менее изящный способ: передавать в поле hidden время (timestamp) генерации страници с формой. А потом сравнивать с текущим временем на сервере.
Понятно, что боты будут постить спам, скорее всего, «слишком быстро», не тратя время на набор текста.
Пока не уверен, как будет работать этот способ, надо проверять.
Версия для печали
На одном сайте у статей есть «печатная версия».
Видимо, все остальное по умолчанию — непечатное.
True story.
Оптимизация картинок
Бирман открыл для себя программу PureJPEG, начитавшись буржуя Joel-я, который на днях про нее написал. Программа эта убирает из jpeg-ов служебный мусор, уменьшая их размер.
И ведь нет пророка в своем отечестве, ибо во-первых, Bolk давно еще писал программу photoshop crap remover, которая делает то же самое, а во-вторых, использовать фотошоп для оптимизации картинок для веба — черезвычайно глупо, так как он в jpeg-и столько говна пихает, что страшно.
Так что просто надо пользоваться нормальными графическими редакторами.
Другое дело — это pngcrush. Эта программа работает с png-файлами, но она не просто тупо убирает оттуда мусор, а пытается оптимизировать png-файл всеми возможными способами.
Очень удобно, ибо png все-таки гораздо лучше устаревшего gif-а.
PS. Кстати, Болковский crap remover написан на php, поэтому его можно прикрутить прямо к сайту.
Фетиш ЧПУ
ЧПУ — вещь, безусловно, неплохая и местами полезная. Однако, и она превратилась в фетиш.
Проблема с ЧПУ по большому счету одна: URL не может содержать русские буквы. И она никак не лечится. Есть два способа как это обойти:
1. Использовать английский язык. Способ не так уж и плох, когда используются УРЛы, типа /about. А вот как только мы хотим, например, отображать в УРЛе название статьи... Если адрес статьи day_10_presenting_your_main_content_first.html, и при этом она называется — сюрприз! – «Day 10: Presenting your main content first», и вы, разумеется, спокойно понимаете по-английски, то никаких проблем не возникает.
А если статья называется «Десять убедительных доводов, почему все дураки», то в лучшем случае у вас получится из себя выдавить в качестве УРЛа «fools» или «morons». Вы можете даже разродится чем-то типа «ten_convincing_reasons_why_everyone_is_so_god_damn_stupid.html», но это будет такой специальный ЧПУ для очень ограниченного круга Ч. Не все знают английский. Далеко не все.
2. Использовать транслитерацию. Способ тоже не идеален, потому что многие — например, я — так и не застали транслит, и просто физически его не могут читать. Реальный пример — «/02.12.2004/chitallogid/comments». Слово «chitallogid» образовано автоматически из заголовка «Читал логи… долго смеялся».
Где тут понятность?
Выводы тут просты: не делайте из еды культа, не ебите мозги читателям сверхфункциональными УРЛами, которых все равно никто, кроме вас, не понимает. УРЛы, типа entry/3098, ought to be enough for everybody.
Иначе говоря, ЧПУ — это УРЛ, в котором нет непонятных для пользователя элементов. То есть ЧПУ — это не какая-то «добавочная понятность», которую все стараются внести в УРЛ, а всего-навсего отсутствие лишнего мусора.