Про лендинги по три рубля за ведро

Тут маркетологи кое-какие заказали для проекта лендинги. Быстро, качественно, недорого. На Украине, чтобы совсем недорого, но это могла быть Индия, Румыния, Россия и что угодно в общем-то. Сделали, рассчитались(!) и принесли это чудо на внедрение в проект.

А там – вот. 2015-ый на дворе. Библиотеки готовые – не, не слышали, сами напишем отправку письма из формы.
formvulnerability

Для маркетологов рассказываю суть обведенного кода и мысленно представляю диалог кодописателей:

- Вася, сервер ругается что переменные не определены…
– Нахуй он пошел, отключим сообщения об ошибках и никто не заметит!
– А эта, как ее, фильтрация входящих данных, безопасность, все такое?
– Да ты не парься, я сто раз так делал!

Через приведенный код можно не только отправить письмо хозяину странички, но и исполнить на сервере переданный через форму код(да ладно, много кто отключает php exec() и т.п. ?). Итак – выполняем код, заливаем зловредную программу.  И понеслось! Рассылаем спам. Шаримся по серверу в поисках чего бы украсть. Атакуем при помощи нашего сервера другие. Воруем, убиваем, ебем гусей. Хозяйский сайт в лучшем случае падает в поиске, в худшем – банится повсюду навсегда = ноль заказов, ноль прибыли.
А в особо конкурентной борьбе – можно сами заказы перехватывать и выполнять вместо хозяина, в то время как маркетологи будут сокрушаться по высоким ставкам в рекламе и низкой конверсии.

Ссылку на изготовителей осознанно не даю, ибо тысячи их.

Пишем скрипт-отчет по лайкам “Вконтакте” для страниц сайта

Давненько я не брал в руки шашек.  Но тут появилась задача сделать сводную таблицу с информацией о том, какую страницу и сколько раз нажали кнопку “мне нравится” на сайте, или, на проф.жаргоне, ” лайкнули страницу”. Страниц минимум полторы тысячи, поэтому ручная работа сразу не рассматривалась. От жадности, а также потому, что в силу слабой ориентации в возможностях API Вконтакта я не мог внятно поставить задачу программисту, я решил накодить скрипт самостоятельно, попутно изучив работу с вконтактовским API.

Все получилось. Результат отдается в виде такой таблицы:

 

Можно сузить выборку до произвольного списка товаров. Показываются ссылки на аккаунты тех, кто лайкал страницы. Удобная получилась штука, в общем. Под катом я поделюсь тонкостями процесса. Слегка по-пролетарски, т.е. местами нецензурно, но это как раз тот случай, когда обсценная лексика будет к месту. Поехали!

Читать целиком »

О том, почему следует использовать по максимуму нативные решения в программных продуктах

250px-PaintrainЕсли вкратце: потому что нативное решение в общем случае удобнее поддерживать вместе со всей системой, и при глобальных апдейтах не надо пересчитывать многочисленные сторонние костыли.  Вот сегодня сразу две истории на эту тему были.

История раз. Не моя. В аську написала девушка, с которой мы однажды работали над неплохим интернет-сайтом. Жаловалась девушка на программиста, который тормозит со сроками решения задач по нескольким сайтам на CMS NetCat. В бытность уже после проекта я сам, вообще-то не баловал быстротой и отзывчивостью, просто потому что форматы задач наши окончательно перестали совпадать. Но, видимо, в разгильдяйстве я таки не чемпион.
Любопытство победило апатию от тяжелой осенней погоды, и я таки решил глянуть, что там как. Сам, без оркестра.

Читать целиком »

О первоисточниках кода

В веб-программировании бывает так. Есть популярный в народе продукт, и понадобилась для него какая-нибудь фича, в одном месте, на низком слое абстрации.  Что сделает грамотный разработчик сразу после ознакомления с задачей? Грамотный разработчик, раз продукт популярный, в первую очередь ознакомится с уже имеющимися “велосипедами” в профильных форумах и сообществах. И, при положительном результате ознакомления, легко и изящно прикрутит фичу к продукту. После чего радостно забудет об этом.

Проблемы начинаются, когда решение надо обновить или исправить другому разработчику. Который, тоже грамотный, в первую очередь попытается найти оригинал решения.Тут и начинается веселье с поиском первоисточника, особенно если оно было представлено в виде инструкции по копипасту, а если и было как-то обозвано, то совершенно не репрезентативно – гуглим, например “phpbb embed youtube video”.

Так вот, дорогие, мать вашу, разработчики! И ты, Енькин, тоже! Применяя найденное на просторах инета решение, оставляйте в комментариях не только свои указания а-ля “код для фичи-фичи”, но и ссылку на страницу, откуда вы этот код скопипастили, или хотя бы на источник вдохновения.

Спасибо за внимание. Будьте счастливы!

Как сделать блог? Первый пост блога.

Итак, принимаю поздравления в связи с открытием блога.
Опишу по горячим следам процесс его появления.
Под катом рассказ на много букв о том, что нужно сделать для того, чтобы у вас или у вашего клиента появился собственный блог.

Читать целиком »