Posts Tagged ‘imoney’

Проблемы с админами репозитария wordpress.org

Гдето в начале лета wordpress.org взломали и засадили им бекдоры в распространенные плагины.
После того как они обнаружили это, поменяли пароли всем юзерам и поменяли отношение к безопасности.
Только както не по нормальному. Если простым языком, то через жопу. Прикрутили видимо какойто код проверки на безопасность плагинов.
В итоге забанили мой плагин iMoney на репозитарии. Причем сделали это без уведомлений, по тихому. Просто в один день перестали давать скачивать плагин с сайта. Или редиректит на главную или 404.
Я долго считал, что это всеголишь глюки их svn. Мучался с удалением, восстановлением файлов и прочим шаманством.
Потом написал им на форуме поддержки, никто не ответил. Написал на plugins@wordpress.org сообщение такого плана:

I am the author of the plugin iMoney (http://wordpress.org/extend/plugins/imoney).
About a two month ago, when I upgrade versions in SVN, plugin is not updated.
http://wordpress.org/extend/plugins/imoney – redirect on main, http://downloads.wordpress.org/plugin/imoney.zip – 404.
I change passwords, add and removed files.
Plugin removed from plugins repository? Why?
What is the solution?
Thank you anyway.

Через несколько дней они ответили:

Hi,
The plugin was removed for a couple of reasons:
- compressed code. Code should be in the clear and readable.
- you are using $_SERVER many times and this has security implications as well as being inefficient.

If you could redo the code and check it against known exploits we’d be happy to put it back.

Тоесть, им не нравится упакованный код от бирж ссылок и частое использвание директивы $SERVER. Мол это может быть не безопасно и не ээфективно.
Что может быть не эффективного в вызове переменной $SERVER?
Я не спорю, что в коде есть спорные участки. Костыли и подобное. Но каждый такой участок решают какунить конкретную проблему, возникшуюю у человека, клиента плагина.
Это все было изначально со времен написания плагина. Тоесть с 2008 года их все устраивало, а весной 2011 уже нет.
Я считаю, что у них появился какойто статический анализатор, который ругается на определенные конструкции языка. И они не смотря в код, делают на основании отчетов анализатора выводы о коде.

Прошло дофига времени, я наконец решил малость переписать код. Переменную $_SERVER сделайл по ссылке внутренней переменной класса.
Запакованный код со всего плагина свел в одну функцию и специально ее подписал, мол хранилище кода.
Проверил, что все работает и написал им новое письмо. Мол сделал, что они хотели. Мой плагин, чтоб не можифицировать файлы вордпресса или код бирж использует всяческие ухищрения, переопределения $_SERVER и тд.
При инсталяции запакованного кода пользователь сам должен нажать кнопку, чтоб его установить. Причем он сам может его установить вручную без плагина. Написал, что с 2007 не было зарегистрировано случаев взлома через мои плагины. И что я очень помешан на безопасности.

Hi, Sorry for my English. I modified code and check it against known exploits. My plugin easily combines codes from link systems and WordPress. In order to not modify the code link systems, and WordPress, to have to find ingenious solutions in a plugin ($_SERVER replacement and other). I made a few changes to your static analyzer less swearing.
Move data into a separate function. This code from other systems and is installed on the user’s request. Users are always aware of it. If it is stored in other separate files, there is a chance that it can executed. I really care about security. I’ve seen less safe plugins, do not know why it was blocked. The plugin has existed since 2007 and have never been hacked.
Thank you for your patience))

Опять от них пришел отрицательный ответ.

Here’s the bottom line:
- Your code, as it stands, is extremely insecure. Doesn’t matter if you’ve been hacked or not, or whether anybody has discovered the vulnerabilities or not. Insecure is insecure.
- Your use of base64 obfuscated files is unacceptable. We do not allow obfuscated code in the repository. No exceptions.
As the code currently stands, it will not be allowed back in the plugin repository. These issues must be addressed for the plugin to be listed again.

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

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

Из решений, хм, есть три варианта.

Просто взять новое название плагина и они заапрувят стопудоф. Но возникнет путаница у пользователей.
Второе, это проявить чудеса обсфукации и фиг их статический анализатор чтонить найдет. Опять же возникнут вопросы у вебмастеров, нафиг в плагине такая вирусоподобная защита вставлена.
Ну а третье переписать плагин. Снова. А потом еще раз и опять и опять. Заместо того, что добавлять новые биржи или еще чтонить, придется делать ревизии кода.
Пока все равно склоняюсь к третьему варианту.

Вообщем я считаю, что они все таки мудаки, но если есть возможность, посмотрите код на дыры, я особо опасных мест не вижу.
Три месяца уже все это длиться.
Надо чтото уже решить относительно быстро и эффективно.

8 Марта

В честь праздника решил обновить сборку плагина, добавил Новую функцию. Теперь вордпресс можно монетизировтаь и через mainlink.ru. Настройки все стандартные, “mainlink UID” это длинная цифробуквенная последовательность типа “DDEC6441ECEE49B8CD9CEA6B30A54B65″. Возможность сырая, на себе не проверял, но все вроде должно работать.

В iLinks чуть чуть подправил правила установки ссылок. Если первым символом идет “r”, то строка направляется в eregi, те можно применять регулярки, если без первой “r”, то сравнивается
просто с запросом файла.

Ну, а теперь самое главное:

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

Не реализованные возможности

Решил выделить время и добавить в плагин новые возможности. Выбор было пал на звучноее русскому уху названиее Nahaa :) По идее, они выбрали правильное направление развития продажи ссылок. Если оптимизатор покупает ссылку, то она как минимум будет релевантной тексту по ссылке. Если конечно ктонить не догадается скупать частоупотребимые слова чисто для наращивания пузомерок. Хотя как показал опыт работы с сапой, где тоже есть контекстныее ссылки, ссылки мало кто берет, но с другой стороны Nahaa выбрала узкую нишу и в ней все будет по другому.

Дак вот, вернемся к плагину, поддержки столь замечательной биржи в нем по техничиским причинам не будет ;) Скачал я их код и оказалось, что они оригинально придумали, сделать какбы прослойку между пользователем и вебсервером. Все запросы сервера кроме непподерживаемых форматов редиректится на их скрипт, а тот уже сам дальше разбирается. Напрягла обсуфикация скрипта, после проверки оказавшаяся довольно слабой, чисто новичков отвадить. В коде вроде ничего особо опасного нет, чисто ПхпИнфо владельцы биржи могут получить или те кто знает индентификатор и умеет проставлять заголовки. Адаптировать код для вставки в плагин не стал, он генериться для каждого пользователя свой, и там несколько уникальных индентификаторов, которые придется каждый раз пользователю вписывать. Забил вообщем. Кому нужно будет, он без плагина все сделает, плагин не при делах.

Терь думаю что нового вставить в плагин, чтоб нужно было народу. Если вы знаете, то велкам в комменты, добавлю в тудулист и при случае реализую.

iLinks – Новые Возможности в iMoney

Обновил iMoney, версия 0,14 (Defender of the Fatherland Day Edition), исправил баги в секции Tnx. Решение проблемы с exept так никто мне и не подсказал, придется самому заморачиваться.

Внедрил новую секцию iLinks. Это размещение ссылок на сайте в зависимости от запрашиваемого урл. Если не лень будет, то возможно преобразуется в типа индивидуального Сейпа для каждого. Но будет скорей всего лень)). Наверно возникает вопрос как им пользоваться? Сейчас расскажу.
Идем в секцию iLinks inserts: в настройках плагина.
Видим обычное разделение на зоны, как в других секциях.
Видим поле для ввода сепаратора(разделителя), по дефолту стоит “:”, лучше так и оставить. Он нужен для разделения адреса и вставляемого текста.
В поле ввода скажем футера пишем:

/:<a href=”http://itex.name”>yandex</a>
/stranica/categoriya/2009/02/23/:<a href=”http://itex.name/imoney”>google</a>

Каждое новое вхождение необходимо писать с новой строки.
Дальше в плагине идет распарсивание этих строк, и если адрес запрашиваемой страницы совпадает, то вставляется текст.
Стоит заметить, что в строках примера есть несколько вхождений сепаратора “:”, в этом случае текст, делится по первому вхождению сепаратора.
Также в первой строке примера адрес имеет вид “/”, соотвественно ссылка отобразиться на всех страницах сайта.
В поле адреса можно писать регулярные выражения, тк сравнение идет вот так ( if (eregi($w[0],$_SERVER["REQUEST_URI"])) ), где $w[0] это получаемый паттерн адреса.
Несмотря на то, что iLinks является частью платного iMoneyFull, решил выпустить в паблик функцию плагина, в честь праздника, надеюсь не пожалею.
Потихоньку наверно буду переводить из платного варианта в бесплатный, функции за которые не оплатили или если заказчики не будут возражать против введений функций в паблик.
Так как версия посвещена определенному дню, то Очень бы хотелось поздравить Всех Мужиков, с Нашим Днем Защиты Отечества. Надеюсь Все у нас будет Хорошо)).

FAQ по iMoney и iSape

В последнее время заметил, что даже по такому простому плагину стали возниакть вопросы, видимо сказывается его распространненость и разный уровень вебмастеров. Решил накатать небольшой FAQ по плагинам, первую версию которого вы можете лицезреть ниже… Read the rest of this entry »

Incoming search terms:

Обновил iMoney

Обновил iMoney, исправил ошибку при использовании sape. Времени много уходит, сейчас пишу платный iMoney FullEdition по заказам телезрителей, с интересными фишками, но текущие версии фактически ничем существенным не отличаются от бесплатных. У антисоциал ваще ничего нового не добавилось, все также тестовый модуль к мистер вонг и пишу скрипт для автоматической регистрации на любо соц закладке, с указанием только линка к регистрации. Список из 1600 соцзакладок для этого подготовил. Но все это так медленно продвигается, уж и не знаю продолжать ли или занятся чемнибудь более интересным.  В доры опять чтоли податься?

Обновил плагины

В iMoney добавил парамаетр “Show content links only on Pages and Posts”, который позволяет избежать ерроров, если ссылка сипользуется до или после текста, скажем в тегах, вообщем как для контекста раньше.

Обновил iMoney, сделал маскировку ссылок как в iSape

Обновил iMoney, сделал маскировку ссылок как в iSape. Теперь, еще труднее обнаружить продажные  ссылки. Также обновил iSape,  исправил ошибку с виджетами.

Incoming search terms:

Маскировка ссылок Sape

Обновил плагин iSape, добавил возможность маскировки определения продажных ссылок. Теперь сервисы типа venality.name не показывают, что чтото нашли продажное. При грамотном распределении ссылок по странице, довольно сложно отличить продажные ссылки от натуральных. В целом также наверно не определят и поисковики, соответсвенно не просядет пиар и тиц от пессимизации. В iMoney такой функционал добавлю чуть позже, если не будет проблем с этим кодом.

Incoming search terms:

WordPress Плагин для Бегуна

Сделал новую версию iMoney. Исправил несколько багов и добавил Бегун.
Плагин перевалил за 2000 строк кода.

Жду предложений, что еще можно добавить.