В петък Мирчо ми спомена, че “абе нещо security image-то не ти работи”. Аз, като един типичен Тома Неверни, изпробвах нещата от фирменото прокси и видях, че всичко си е наред. С това въпросът приключи, а Мирчо трябваше да си направи собствена сметка в моя блог, за да може да пуска коментари без досадното, неработещо изображение.
Животът беше прекрасен, докато един друг приятел не ми прати мейл, защото не може да пусне _важен_ коментар. E, това вече беше много сериозно, и аз реших да повторя пробата от вкъщи – както си стоях. Logoff и о, ужас – коментарното изображение не работи!
Понеже всичко си работеше отпреди, очевидно подмяната на сървъра в моя хостинг беше предизвикала този грозен страничен ефект. Започнах да се опитвам да гледам какво става, щурах се малко из сорс-кода на SecureImage плъгинът ми… нищо! Всичко изглеждаше както трябва. И като капак на всичко, ако пробвам да направя wget само на изображението, файлчето работи като слънце! Само че от браузърите нито Firefox, нито IE можеха да покажат същото това изображение, което свалето от wget и показано в IrfanView да речем изглеждаше прекрасно.
Изпратих поща на Никола за проблема и започнах да търся някакво (макар и временно) решение. Като начало, за да виждам какво става, започнах да слагам die(“…”) из разни важни точки при генерацията на изображението и да наблюдавам как върви програмния поток. Видях, че наистина всичко си изглежда както трябва и всичко би трябвало да е наред. Точно се зачудих какво да правя и дали има друго решение, освен изключването на плъгина, когато в един момент всичко взе, че тръгна?! Погледнах аз по-внимателно какви съм ги вършил и забелязах, че след слагане на die(“…”) след print-ът, който трябва да изстреля изображението към клиента, всичко работи! Опитах да заместя print-ът с die – всичко работи!
Сега като премислям всичко, като че ли ми е ясно какво става. Очевидно е, че след този print вероятно някой друг [плъгин?] взема инициативата в свои ръце и прецаква нещата. Не зная дали това идва от сървъра или не, но факт е, че спирането на РНР процесинга след като изображението е генерирано постига точно желания ефект.
Стигайки до това предположение, се сетих че в кошът все още се намира изображението, което в петък свалих (след проблемите на Мирчо) и за което тогава ми направи впечатление, че е цели 100К. Я да го извадя аз от коша и да го погледна. Мда, както и предполагах, краят на “изображението” всъщност е край на един HTML поток, докато началото си е начало на PNG файл…
Изводът: Някой продължава да “печата” в изходния файл, след като изображението е генерирано. Този “някой” очевидно е стандартния WordPress процесинг, който “поема инициативата” след SecureImage плъгина. И наистина: ако погледнете някъде на около 1/3 от потока, обявен като PNG изображение, ще видите че започва страничката на вашия блог, така както би се появила при отваряне на централната страница без никакви параметри:
IENDBB`‚
< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Първите няколко символа са края на PNG изображението а останалите… да ви изглеждат познато?
Мда, явно ще трябва да пиша отново на автора на плъгина… Но имайки впредвид какво се предложи до сега като отговор от него, май направо ще напиша един английски материал за промените, които съм направил в моя плъгин и ще го пусна като подобрена версия.
Така и така правих промени, сложих и допълнителния код, който би следвало отново да разреши pingbacks/trackbacks, въпреки SecureImage-то. Може да изпробвате дали работят.
Мерси, Мирчо! Мерси, george!
Дончо, единственото, което постигаш с captcha-та е да избервяш коментатори като мен. 😉 Лично за своя блог съм решил проблемът перфектно с един малък плъгин, наречен “Optional Comment Moderation, чиято цел е да модерира само коментари, публикувани в теми, по стари от Х дена, докато новите се публикуват директно. Водейки се опита на много блогъри, установих, че повечето спамъри не си позволяват да пълнят с рекламни коментари новите съобщения в блога (понеже те привличат вниманието на администратора), а основно старите съобщения, защото те придават тежест в Google. Модерирането им е изключително лесна задача, особено ако обявяваш IP адресите им за спам, при което те не могат да изпращат нови съобщения на твоя блог. Работи безотказно до ден днешен – а и блогът ми не привлича повече от един-два спама на месец.
@RaynerApe: Извинявам се на теб и на всички останали, ако коментирането в блога ми им коства допълнително изнервяне. Както преди казах обаче, твърдо смятам че въвеждането на 3 символа не коства никакво усилие, а и когато човек има желание да каже нещо по темата, това едва ли ще го спре.
Благодаря, RaynerApe, ще имам впреедвид мнението ти!
@Всички останали: Бих искал да помоля хората, които четат тук и коментират: Ако мислите, че SecureImage е неприемливо утежнение, което ви спира да коментирате – моля, кажете си! Сложете го като коментар тук (или някъде другаде), оплаквайте се, недейте мълча. Като видя, че хората наистина не харесват това нещо (вече имам гласът “против” на RaynerApe), тогава най-вероятно е да променя нещата. Ако мълчите обаче, това няма да се промени – аз ще загубя ценни събеседници, а Вашето мнение ще си остане нечуто.
Затова ако ви пречи – оплаквайте се!
Не бих казал, че captcha ме спира да коментирам, когато наистина желая това, но утежнява безмислено процеса и изпитвам съмнения, че съдейства за побеляването на косите ми. 😉 Ето точно сега, когато пиша този пост, captcha-то има бледо-кафяви букви върху фон с разноцветни балони и светло-кафяви ленти – наложи се леко взиране, за да разпозная една от буквите, която беше на фона на два балона и две ленти с приблизителен цвят. В допълнение, комбинацията бе “2еа”, която аз въведох… с кирилица, нямаше как да забележа несъответствието понеже буквите са еднакви и при двете подредби, и трябваше да се върна обратно за да въведа поста наново. Тези дребни камъчета обаче се натрупват и в един момент отношението ми към captcha просто не може да бъде положително.
@Rayner: Интересен feedback, наистина. Ще взема да направя secure image-то само с цифри – явно спамерите все още въобще не се опитват да пробиват подобни блози… Да видим какво ще стане!