Category Archives: PHP

PHP Tricks, Tips, Ideas, Other Shit

PHP MVC framework – делаем сами, Продажи Mozilla Foundation, Цензура, Дыра в MySQL

Все сейчас пишут об MVC. На PHP MVC frameworkи растут как прыщи у юнцов на носу. Вот и НаЛампе тоже опубликована статья о том, как спланировать свой MVC framework на PHP 5. Давно она там… Может кому полезно будет.

А мне понравилось: А нефик продавать продукты Mozilla Foundation, если они бесплатны. А как узнать представителя Mozilla Foundation? Заставить его представиться через электронную почту письмом прямо на глазах у запрашивающих. Похоже скоро можно будет вводить новый способ идентификации… Читайте на securitylab.ru, об этом ещё вчера кто-то писал, но в у меня слишком большая история, чтобы это дело откопать.

Да, там говорят Google с цензурой устроил веселуху и теперь жители Америки не могут скачивать какие-то ролики из Ирака. Простите, а как они определяют можно ли мне скачивать? В паспорт смотрят или по IP? А если я “залётный”? Это же нарушение моих прав ;-)

А ещё говорят в нашем любимом MySQL нашли дырочку. Говорят распространяется на версии 3, 4 и 5. Не хотите что бы ваши запросы писались в лог? Пожайлуста! Всего-то кусочек кода с NULL символом…
mysql_connect(...);
mysql_query('/*'.chr(0).'*/ SELECT * FROM table');

cPanel 10 и XSS, электронные паспорта, Ruby on Rails: acts_as_threaded


Warning: Undefined array key "lang" in /home/kurakin/domains/kurakin.info/public_html/wp-content/plugins/wp-highlightjs/wp_highlight.js.php on line 119

cPanel 10.x нашли XSS уязвимость:
http://[victim]:2095/webmailaging.cgi?numdays=

&ageaction=change
Интерестно... Вот как ею воспользоваться? В cPanel все ходят или прямым набором, или из фаворитов/букмарков, который сами делают на сайте, предоставляющем услуги. Ну хорошо, бывают извращенцы, но их не много, и если они вот так вот кликают везде - в cPanel им ходить нельзя.

Специалисты Riscure из голландского города Дельфт смогли сломать бета версию нового электронного паспорта на расстоянии. Почему-то меня это совсем не удивляет... Тут слух прошёл, что Великобританская газета провела корреспондентские расследования и установила, что паспорт можно сделать без проблем, и не электронный, и на расстоянии из Литвы к примеру. Ссылки у меня нет сейчас под рукой, но факт довольно прикольный.

Очень парадовал railtie.net, где Bob Silva представил плугин для Ruby on Rails: acts_as_threaded. Как-то даже мне и не понятно, каким образом в Ruby on Rails небыло такой хорошей и нужной настройки ActiveRecord, как acts_as_threaded. Надо срочно уделить время этому плугину и самообразованию в плане Ruby on Rails.

Да, всем кто ещё не заметил, обновился WordPress - популярный блог-движок, написанный на PHP, обновился до версии 2.0.1, учитывая количество ошибок, которое исправили, а их было 114, или 113, смотря что читать.

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

Mozilla Suite, LiveJournal.com, 10 PHP MVC frameworks, Ruby on Rails vs. PHP

О как мне это нравиться! С утречка пробежаться по новостям, блогам, del.icio.us, посмотреть о чём народ пишет, и среди всего этого увидеть как securitylab.ru пишет о XSS уязвимостях в вашем любимом и хвалёном Mozilla Suite, вплоть до версии 1.7.х, и решение тока одно – отрубать JavaScript. И фактически тоже самое пишут о Mozilla Thunderbird и Mozilla Firefox. Хотя, не так страшно – туда не ходи и то не открывай, а то снег башка попадет – совсем мертвый будешь! (простите за искаверкивания, но факты есть факты).

Усех кулхацкеров, и нормальных пацанов, а так-же тех, кто считает, что достаточно крут, LiveJournal.com приглашает побаловаться на сайте для тестирования и попробывать сломать их детище путём XSS атак.

В сетевых ресурсах стал очень популярен список из 10 PHP MVC frameworks. Список этот составлен только на личном опыте товарища mustapha. Чтож – может быть кому-нибдь оно поможет.

Ох… Да, сейчас популярно сравнивать Ruby on Rails и PHP. Framework на объектном Ruby и так сказать, структурный язык программирования PHP. От части всё крутиться, я бы сказал, вокруг этой статьи от Chris Shiflett. Довольно прикольно, что сравнивают не сами языки Ruby и PHP, а именно Framework и язык программирования. Неужели со стороны PHP нечего выставить против Ruby, или на PHP нету никакого Framework, что бы выставить против Ruby on Rails? Складывается у меня впечатление, что Ruby on Rails появилось именно там и тогда, когда другим в то место выставить нечего было. Говоря более просто, нашла свою нишу в нужное время и теперь, от зависти, все пытаются как можно больше запинать Ruby on Rails, или хотя бы как-то н этом подняться. Нет, я понимаю, что стану PHP (к которому и я довольно сильно отношусь, так как это основной язык для мена на данный момент) обидно, что у них как бы и нет то ничего такого, как Ruby on Rails, или только появляется.

RailsConf 2006, статья о Абстракциях на devshed.com и 7 PHP Security Blunders

Ruby on Rails начинает всё более громко о себе заявляет и в этот раз тем, что организовало первый RailsConf 2006 в Чикаго, 22-25 июня. Под всё это дело запустили красивый сайт и довольно красивый.

Чего-то я в жизни никогда не понимал и, наверно, не пойму. К примеру, когда по миру начинается волна Web 2.0, когда все наконец добились, что PHP 5 начал поддерживать более мение нормально объекты, классы, и всю кухню с этим связанную (ну или часть той кухни, которую они могут имплементировать в следствии не строгой типизации языка), сделали крутой SimpleXML, Zend начал разрабатывать Zend framework, на devshed.com появилась красивая статья об абстрактных классах, их использовании и наследии. Всё бы в ней хорошо, но вот только зачем это делать на PHP 4 версии мне совсем непонятно. Хотя, может оно и интересно самому, в ручную, создавать абстрактный класс, который сам смотрит за своей абстракцией, а не язык программирования (честно говоря мне это похоже на мастурбацию, и если мне не отшибает память и пиратский перевод был правильный, что-то похожее Траволта говорил в фильме Swordfish о рыбалке).

Для тех, кто только начинает свой путь в PHP советую прочесть вот эту маленькую статью о безопастности: Top 7 PHP Security Blunders. Хотя я в ней лично бы прикопался к тому, что используется addslashes в обработке переменных перед подачей в SQL запросы, я предпочитаю использовать то, что идёт в библиотеке к драйверу SQL, к примеру, для MySQL mysql_escape_string. Но автор молодец, он говорит о magic_quotes_gpc, чего не всегда встретишь, и мало кто об этом говорил раньше. Очень понравилось представление идеи Access Control Flaws, жаль что не на всех серверах это возможно.

Google Toolbar 4 beta / эксплоиты / eZ components webcast

Ха! Не прошло и года, как Google, не будем говорить в каких целях, взялся за разработку следующей версии своего Google Toolbar и выпустил бету четвёртой версии. А ведь красиво пишут о нём в блоге. У него уже и API будет: можно будет кнопки свои добавлять, причём кнопки не только от Google будут, но и с других сайтов тоже. Что-то не будет ли здесь каких дырочек для длинноруких мальчиков? Через блоги проскочило и то, что в четвёртой версии Google Toolbar будут и фавориты/букмарки встроенные – вопрос только: зачем дублировать функционалию броузера? Хотя, надо бы посмотреть на это дело поближе, и поснифить трафик, который он (если) генерирует.

Тем временем народ упорно ковырял таких монстров как Winamp и Shoutcast, и в один день (как по заказу), были объявлены эксплоиты для этих популярных продуктов. У Winamp была найдена возможность сделать переполнение буфера (buffer overflow) при помощи специально подготовленного списка музыки (playlist, .pls). К Shoutcast же народ искал/писал экспоит довольно давно. {простите, вы часто пользуетесь чужими playlist? но в принципе, не плохо было бы обновиться}

A для любителей eZ system 17 февраля готовиться webcast с Derick Rethans о eZ components, все подробности читаем на php|arch. Надо бы посмотреть, чего же там такого они придумали.

Пока весь мир делает это бесплатно, почему-бы не сделать это по другому? LiteSpeed Web Server

Пока Apache HTTP Server Project выпускал свою версию 2.2, делал рефакторинги и прочие вкусные вещи, весёлые ребята из New Jersey, LiteSpeed Technologies взяли и сделали платный HTTP сервер под названием “LiteSpeed Web Server”. Да, такой неизвестный пока никому сервер, который, как утверждают создатели, быстрее преславутого Apache, а PHP 4.4.1 на нём летает на 50% быстрее. Нет, есть конечно бесплатная версия и форум поддержки, но почитав бегло форум, впечатление было никакое.

Из плюсов данного монстра выделяется то, что он почти полностью поддерживает конфиги Apache, и самые популярные модули к Apache у них тоже есть (к примеру mod_rewrite), eстетвенно, CGI/Fast CGI, mod_php, поддержка конфигурации через .htaccess. Подробнее читайте на сайте LiteSpeed Technologies.

Естественно, народ тут-же прикрутил к этому делу Ruby on Rails. Подробную инструкцию по установке RoR на LiteSpeed Web Server можете сами прочесть на сайте 6 short of a dozen.

SCP, SFTP, FTPS и PHP

По напридумывают аббревиатур: SCP, SFTP, FTPS. Соединят пару из них в одну программу. Нарисуют общий вид, как при работе с FTP. А у простых смертных потом непонятки. А ведь не всем дано найти и разобраться сразу что из них что, и через что, и кто поддерживает. Наверняка людей запутывает участие в них аббревиатуры FTP и отсутствие строго стандарта к названиям. Все привыкли к тому, что FTP это FTP, стандарт, который все знают, старый и добрый.
А ведь не так всё легко с этими SFTP, FTPS. С SCP легче – сразу видно из названия что с FTP как бы мало связан. SCP у нас Secure Copy и ничего больше. Всего лишь копирование файлов через SSH. Но стоит начать разбираться с аббревиатурами SFTP, FTPS – как наткнёмся на несколько понятий, как: SSH File Transfer Protocol, FTP session over SSH, Simple File Transfer Protocol, а так-же FTP+SSL/TLS. Так что, узнать что имеет ввиду заказчик/администратор под красивой фразой: У нас установлен SFTP – SSH File Transfer Protocol или Simple File Transfer Protocol – угадать сложно. А если он ошибся и имел ввиду FTP session over SSH или FTP+SSL/TLS?
А из всей этой красоты PHP у нас поддерживает простой FTP, FTP+SSL/TLS, и возможно, ещё работал бы FTP session over SSH – последнего сам не проверял – подтвердить или опровергнуть немогу.
А ведь так легко ошибиться и сказать: Да, мы сможем, а потом, понять что ошибся, но уже будет поздно. Я понимаю, что хорошему аминистратору, на сервере поднять FTP – раз плюнуть, но хороший администратор – стоит хороших денег, да и после такой грубой ошибки можно выглядрть делитантом.
Всё это классно расписано в ВикиПедие. Но можем и повторить:
Чаще всего под аббревиатурой SFTP подразумевяют: SSH File Transfer Protocol – передачу файлов посредством SSH исползуя многие возможности SHELLа.
Под аббревиатурой SFTP подразумевяют: FTP с использованием SSL/TLS
Simple File Transfer Protocol – старый, и считается раритетом.

WordPress – адаптация к нуждам

Так как иногда приходиться пользоваться WordPressом, и ставить на него совсем не стандартные шаблоны, но так, что бы работало. Это часто требовало разных адаптаций стандартных функций WordPressа под шаблон или написание своих.
В первые раза два я делал такую грубую ошибку, как: залазил в ядро, менял что хотел. Потом выхадила новая версия и я себя проклинал. Сидел выдерал, искал, переносил, правил.
И только потом мне стрельнуло в голову использовать для хранения plug-inы WordPressа. Почему не шаблоны? Где-нибудь в начале, в каком-нибудь подгружаемом файле? Очень прото – шаблонов использующих эти функции может быть много и их могут время от времени менять – а таскать это всё по шаблонам каждый раз – здоровья не хватит. А вынос в отдельный общедоступный файл – это уже плугин.