По колено в ПХП, или история одного переезда

Так случилось, что мне достался один сайт написанный на PHP для размещения на нашем сервере. У этого проекта были некоторые недостатки. Первая и основная проблема с которой я столкнулся это то, что часть PHP файлов была закодирована программой Zend Optimizer. Это такая гавеная программа, которая позволяет шифровать другие гавеные программы на PHP. Если вам стыдно показать свой код заказчику, то смело проходите по ссылке выше.

Ой. Подумал я и написал авторам сайта просьбу выдать исходники без зондазенда. Авторы любезно ответили, что исходников без зенда у них нет. Но есть исходники старого проекта но со старым дизайном. Чудесно правда? В этот момент я слегка фаломорфировал, но решил на время сдержаться и не стал писать авторам сего чуда, все что я о них думаю. Особено меня удивил факт того, что товарищи использовали шаблонизатор smarty, и дизайн вроде как должен быть исключительно в шаблонах. Но видимо что такое MVC, VCS и PHP фрэймворки они слышали только очень отдаленно.

Решение первое и очевидное — поставить Zend Guard (бывший Zend Optimizer). Поставив на сервер Zend Guard и открыв сайт в браузере я увидел надпись, которая сулила мне новые развлечения — код был закодирован в старой версии Zend Optimizer’a и с PHP 5.3+ он не работает. Погуглив на эту тему я обнаружил, что единственное решение — перекодировать файлы новой версией Zend Guard’a, что для меня было несколько затруднительно в виду отсутствия исходных текстов. Обратившись к разработчикам я получил ответ — пользуйтесь хостингом на котором стоит Zend Optimizer и даже получил пару ссылок на таких хостеров. Я спросил, а что мы будем делать когда все хостеры откажутся от PHP версии ниже 5.3? Ответом на этот вопрос была тишина.

Решение второе и единственно правильное — восстановление исходников. Я запросил старую версию сайта, которую мне (слава богу) прислали. Воспользовавшись сервисом http://www.showmycode.com/ я восстановил файлы, которые изменились при переходе на новый дизайн. Но сайт после этого работал с глюками. Просмотрев исходный код (и фаломорфировав во второй раз), я нашел пару ошибок в коде. Сначала я подумал на товарищей, что они специально внесли эти глюки, но как оказалось впоследствии, сервис http://www.showmycode.com/ восстанавливает код не очень хорошо, по пути теряя части скрипта. В купе с таким языком как PHP, который даже при отсутствии кусков текста в исходниках продолжал работать не выдавая никаких ошибок! (тут я офигел в третий раз, окончательно и безповоротно), задача восстановления сайта  представлялась мне «потрясающе интересной».

Окунувшись с головой в чудесный мир PHP, и «замечательного» самописного фрэймворка X-CUBE, на котором работал сайт, я начал понемного ковырять палочкой index.php, базу и другие куски фрэймворка. После 2-х часов этого жизнеутверждающего занятия, обмотав кусками изоленты index.php мне удалось запустить сайт в рабочем состоянии.

Если тебе, дорогой читатель, интересно узнать об авторах сего чудного PHP-фрэймворка, состоящего из быдлокода ровно на 98.55%, то ты можешь обратиться в студию СВМ, и заказать у них сайт. Господа из этой чудесной студии подарят тебе чудесный проект состоящий из кусков PHP слепленых в занимательный клубок, который возможно в браузере будет выглядеть как сайт.

В заключение несколько бесплатных советов для студии СВМ (http://swmstudio.ru/, СамараВебМастер).

- UTF8 ребята, вы слышали о таком? ?спользуйте на здоровье!

- Никому ваш говнокод не нужен. Забудьте про зенд. Я сам готов заплатить за то, чтобы его просто не видеть больше никогда. Но what has been seen can’t be unseen.

- ?спользуйте фрэймворк, например http://www.yiiframework.com/. А то, что у вас называется X-CUBE это космические сопли обмотанные вокруг smarty.

- Юзайте ORM хотя бы, если все также будете ковырять свой фрэймворк.

- ?спользуйте системы контроля версий. (Еще одна бесплатная ссылочка - https://bitbucket.org/). Поддерживать сайт будет намного проще, и исходники не будут теряться.

- Что у вас за мания использовать символ минуса в начале каталога? Я так понимаю linux shell для вас — это что-то космическое?

- На сайте вы пишите — «Создание веб-сайтов любой сложности ‘под ключ’;», ну смешить то не надо? Ладно? А десяток банеров/счетчиков внизу страницы — это у вас для продвижения сайта что-ли?

- Я побоялся копаться в вашем чудо-коде глубоко, но вот в index.php в самом начале -

if ( isset( $_SERVER['REMOTE_ADDR'] ) )
{
    $ip = $_SERVER['REMOTE_ADDR'];
    if ( preg_match( "/^(\\d{1,3}\\.\\d{1,3}.\\d{1,3}.\\d{1,3})$/", $ip ) )
    {
        $ip0 = $ip;
    }

Это вы что, боитесь, что злой хакер подсунет туда SQL injection? Тогда рекомендую почитать как устроен веб-сервер, PHP, что такое mysql_real_escape_string, ORM и ipv6.

Эх, много веселого у вас там =).

 

Update 02.03.2012:

Мне сообщили по почте, что в студии СВМ работают грамотные ребята, и за эту статью они подадут на меня и на компанию, которой принадлежит сайт в суд.

 

По колено в ПХП, или история одного переезда: 14 комментариев

  1. Здравствуйте.
    Автор статьи, а Вы можете продемонстрировать свои разработки?
    Очень хочется посмотреть на работы гуру web-программирования…

  2. Мистер, haker.
    Я не претендую на роль гуру web-программирования.
    Но мои открытые проекты вы можете посмотреть тут — https://bitbucket.org/pi11
    ? делал я их не за деньги, в отличии от профессионалов, упомянутых в статье.
    Так что можете брать и критиковать/пользоваться. Я всегда рад конструктивной критике.

  3. ясно… так Вы альтруист? сделаете сайтик не за деньги?

  4. нужен каталог товаров, с фильтрами, поиском… дизайн желательно индивидуальный сделать, не шаблонный продукт, также хотелось бы узнать — на какой платформе (CMS) вы производите разработку сайтов? сейчас ищем разработчика для нашего сайта…

  5. ну или за деньги? сколько это будет стоить и по времени сколько займет?

  6. >ясно… так Вы альтруист? сделаете сайтик не за деньги?

    Да я иногда делаю сайты, но обычно для себя.

    >нужен каталог товаров, с фильтрами, поиском…

    Не буду делать, спасибо за предложение.

  7. >ну или за деньги? сколько это будет стоить и по времени сколько займет?

    Да я что, где-то предлагал свои услуги по разработке сайтов за деньги или бесплатно?
    Если у вас есть интересный проект — можете обратиться, если мне это будет интересно тогда и обсудим. Ок?

  8. >взял из Портфолио студии СамараВебМастер

    Никто и не сомневался, что вы из этой веб-студии.
    Для особо внимательных поясню:
    1. Я не делаю сайты на заказ.
    2. ? уж тем более я не занимаюсь дизайном.

    Какую бы красоту вы не показали, мое мнение об уровне вашей работы не изменится. Т.к. если вы перечитаете внимательно мой пост, об уровне дизайна я не сказал ни слова.

  9. с чего вы сделали такой вывод?
    я случайно наткнулся на вашу статью, посчитал вроде красиво написано, жестковато конечно..затем перешел по ссылке на сайт СВМ, глянул их портфолио…
    также обращался в другие студии, пока на стадии выбора разработчиков…
    ну с последним вашим ответом мне стало понятно, что у вас амбиций через край)
    вам бы поучится у этих разработчиков, хорошие сайты делают!
    а вы их грязью полили почем зря и меня как клиента в жесткой форме отшили…

  10. остается только пожелать вам удачи в разработке собственных «не за деньги» проектов)
    благодарю за общение!

  11. >с чего вы сделали такой вывод?
    >я случайно наткнулся на вашу статью

    Да неужели. Лол. Вы таки такой смешной. У меня статистика собирается подробная, кто и откуда пришел я вижу. Как вы «случайно» наткнулись на сайт — это вообще веселая история.

    >вам бы поучится у этих разработчиков, хорошие сайты делают!

    Да, я уже многому у них научился (в основном — как не надо делать). Собственно об этом и пост.

    >а вы их грязью полили почем зря

    Какой грязью? Вы о чем? Только голые факты и мое личное мнение.

    >и меня как клиента в жесткой форме отшили…

    Да, блин сколько раз повторять — где я писал что ищу клиентов? Я что где-то тут на блоге написал что предлагаю разработку сайтов? Может быть если бы вы были более внимательны, то не написали столько ерунды.
    Если я к вам обращусь с просьбой почистить мне ботинки вы согласитесь? Вы вроде как и я (разработку сайтов) не предлагали нигде такой услуги.

    >остается только пожелать вам удачи в разработке собственных «не за деньги» проектов)

    Спасибо.

    p.s. Очень жаль, что вы так быстро слились. =)

  12. Haker, сайты, которые вы попросили, сделать можно. Стоить это будет около 160 000 руб, по договору с московской студией.

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

Добавить комментарий