Опубликовано 24 января 2012, 05:30

Приехал в универ покушать, покурить, пообщаться, с горского на трамвае добирался полтора часа. В результате не смог защитить лабу по PHP и узнал, что ММ надо было сдать до 1 октября, а после — только лично Бердникову наизусть все лекции в Томском институте теплофизики. Казалось, хуже дела идут только у Чёрного, весь день пишущего на flamp и играющего в клавогонки с дешманского университетского компьютера. Но несмотря на всё это, лично для меня сессия уже сдана и настало время подвести итоги этого семестра. План ничего не сделать самому можно считать успешно выполненным, план ничего не узнать — условно выполненным, план свести к минимуму количество ненужных посещений — проваленным, хотя и не до такой степени, как в прошлые разы. В следующем семестре (возможно, последнем) мы хотим вплотную заняться этим вопросом, а пока, как обычно, предметы в порядке появления: (Далее)

Опубликовано 28 ноября 2011, 20:34 под Dougal & Gammer - Break It

Как-то с @mutantcornholio, будучи упоротыми, написали наркотики на PHP: (Далее)

Опубликовано 17 июня 2011, 18:07

ips_kernel/classDbMysqlClient.php:

//-----------------------------------------
// Run the query
//-----------------------------------------

#I had to switch this around... The query goes first, connection id second. Otherwise it just breaks - KF
#$this->query_id = mysql_query($this->connection_id, $the_query );
$this->query_id = mysql_query( $the_query, $this->connection_id );

У кого-нибудь есть возражения к тезису о том, что IPB — блевотная лужа с мочой?

UPD: там ещё вот такое есть:

if ( preg_match_all( "#[^_a-zA-Z](select)[^_a-zA-Z]#s", $_tmp, $matches ) )
{
    if ( count( $matches ) > 1 )
    {
        $this->throwFatalError( "Вложенные SELECT в запросах запрещены.\nДобавьте \ipsRegistry::DB()->allow_sub_select=1; перед запросом, чтобы разрешить их\n{$the_query}" );
        return false;
    }
}

То есть

$articles = ipsRegistry::DB()->query("
    SELECT field_1 AS title, field_2 AS content, field_3 AS time, record_dynamic_furl
    FROM ccs_custom_database_1
    WHERE category_id = 5
    ORDER BY field_3 DESC
    LIMIT 3
");

Это теперь вложенный SELECT, который мы, так и не сумев побороть SQL-инъекции, просто запретили.

Опубликовано 28 февраля 2011, 00:19 под Kool and the Gang - Hollywood Swinging

Вчера вечером бухал водку. Голяком, потому что за колой было лень идти. Включил самый лучший в мире алкотрек на повтор, и так размазало что пиздец. К несчастью, весь следующий день — лишнее доказательство тому, что этот ваш алкоголь — ёбаный яд. С нормальными веществами как: схавал, поколбасило, отпустило, выпил водички, скушал яблочко, погрустил часок-другой, и как ни в чём не бывало живёшь дальше. Нет блять, обязательно должно жечь желудок, подташнивать, стучать сердце, грязная голова, папа нагрянул в гости, а у меня в раковине до потолка, везде еда и пустые пакеты. Впрочем, не об этом речь. Когда я совсем уже хороший завалился спать, посетила мысль, что Symfony, будучи писанным на питоне, окажется получше Django. Погибче, попродуманнее. По части админки по крайней мере точно. Беспонтовая админка там, всякую лапшу приходится писать типа: (Далее)

Опубликовано 14 февраля 2011, 23:24 под Led Zeppelin - Communication Breakdown

Для начала немного о том, как устроен шаблон vBulletin. По сути, это обычная PHP-строка в невидимых двойных кавычках (при этом двойные кавычки самой строки автоматически экранируются). Пример: (Далее)

Опубликовано 29 декабря 2010, 02:31 под Technikcore - Hardcore Slut

Ну что же, давайте вместо написания курсача по ЧМ подведём черту. (Далее)

Опубликовано 22 ноября 2010, 00:48 под ♪ Louie, Louie Louie, Louaaa ♪
function phpbb_links_abstract_helper($matches, $letter)
{
    $url = substr($matches[0], strlen('[url]'));
    $url = substr($url, 0, -strlen('['));

    return '[url=' . $url . ']' . $letter . '=' . $matches[1] . '[';
}

function create_phpbb_links_helper($letter)
{
    return create_function('$matches', 'return phpbb_links_abstract_helper($matches, ' . var_export($letter, true) . ');');
}

Применение такое:

$text = preg_replace_callback('#\[url\]' . preg_quote($vbulletin->options['bburl']) . '.*showthread\.php\?.*t=([0-9]+[^\[]*)\[#i', create_phpbb_links_helper('t'), $text);
$text = preg_replace_callback('#\[url\]' . preg_quote($vbulletin->options['bburl']) . '.*showthread\.php\?.*p=([0-9]+[^\[]*)\[#i', create_phpbb_links_helper('p'), $text);
$text = preg_replace_callback('#\[url\]' . preg_quote($vbulletin->options['bburl']) . '.*forumdisplay\.php\?.*f=([0-9]+[^\[]*)\[#i', create_phpbb_links_helper('f'), $text);

Помнится, я после третьей сессии хотел вплотную заняться функциональным программированием, но магнитофоны всё испортили. А потом и вовсе из /c/ переселился в /bb/. Я такой смешной, когда обросший

Опубликовано 25 октября 2010, 02:04 под Pelican - March To The Sea

Есть, к примеру, вот такой код, который работает неправильно: (Далее)

Опубликовано 1 октября 2010, 13:50 под Pelican - The Woods

Писать хаки для vBulletin в окошечке 450x150 без подсветки. Тратить по пол-минуты на вставку фразы через веб-интерфейс, а потом обнаружить, что похожая уже есть. Получасовая халтура (оцененная соответствующе) растягивается на несколько дней. Заказчик и его гениальные идеи, конечно, супер, но с этим ничего не поделать. А вот утомительное программирование в браузере (хуже только IDE для фортрана) вполне можно перенести в любимый редактор (Далее)

Опубликовано 20 июля 2010, 19:08

Дал другу, PHP до этого видевшему, наверное, только на картинках, немного пофрилансить веб-прокси на европейский автоаукцион, потому что самому писать эти бесконечные регулярные выражения заебало невыносимо. Пацан затупил в самом начале, так что, в итоге, делать пришлось всё равно мне. Ну хули, 30 минут, два экрана блевотины — и расходы на сегодняшнюю слабость в виде новодельного винила Black Holes And Revelations должны быть погашены.

Посмотрите на этот URL:

/hitscounter.json?scopeId=C&isSearchRequest=true&minPowerAsArray=25&minPowerAsArray=KW&export=ALSO_EXPORT&ambitCountry=DE

И прежде чем лезть под кат, попробуйте угадать, в чём будет баг. Подсказка: PHP

Так и есть: эта ёбаная сука зачем-то разбирает QUERY_STRING в массив, а затем собирает обратно. В конструктор, блядь, не наигрались в детстве что ли? Причём, если приглядеться, можно увидеть, что разбирают они вручную, хотя вообще-то есть parse_str. Я ему уши-то подкрутил:

function getQueryString()
    {
        return parse_url($this->url, PHP_URL_QUERY);

        //   ||
        //   ||    ЭТОТ КОД
        //  \||/   НАПИСАЛ
        //   \/    ПИДОР
        if (!empty($this->querystring)) {
            foreach ($this->querystring as $name => $value) {
                // Encode var name
                $name = rawurlencode($name);

                if (is_array($value)) {
                    foreach ($value as $k => $v) {
/* ХУЙНЯ ===========> */$querystring[] = $this->useBrackets ? sprintf('%s[%s]=%s', $name, $k, $v) : ($name . '=' . $v);
                    }
                } elseif (!is_null($value)) {
                    $querystring[] = $name . '=' . $value;
                } else {
                    $querystring[] = $name;
                }
            }
            $querystring = implode(ini_get('arg_separator.output'), $querystring);
        } else {
            $querystring = '';
        }

        return $querystring;
        //   /\
        //  /||\
        //   ||   ТАМ
        //   ||   ГОВНО
    }

И мгновенно БЭЭМВЭ стало открываться (вот буду бухать, позвонят, а я пошучу: „а вы попробуйте ключом“). Но обидно однако, суперкрутой PHP-фриланс для новичка: ищи баги в почти стандартной библиотеке. А как ещё народ в дело ввести?

Теги
1nsk Alternative E-Business GNU/GPL-софт HTML/CSS ICQ KDE Linux Linuxnsk Lyceum game Microsoft MySQL New Age PHP Python Qt4/C++ SEO Sibnet thelogin.ru Web 2.0 Webstream Windows Wireless А я говорил! Админ Алексеев Аниме Атмосфера Безобразие Блоги Большой бизнес Бред Бытовуха Велосипед Весна Взлом Винил Воспоминания Гетто Гламур Гопота Горский Дача Девушки Деньги Дизайн Еда Железо Животные Затулинка Зима Игрушки Игры Идея Интересно Интернет Исследование История Казань Класс Коромшук Коты КПК Красиво Криминал Лето Литература Лицей НГТУ Магнитофоны Мат Математика Машинный перевод Мегафон Мечты Мифы Мне стыдно Мобайл МТС Музыка Мультики Мы помним Наёб Наука НГТУ Недвижимость Непоняятно Новосибирск Ночь Обидно Обман Образование Омск Осень Пиратство Плохо Погода Праздники Презрение Провайдеры Программирование Протест Радиотехника Реклама Религия и вера Рэп Сервис Сериалы Смешно СМИ Совет Софт Спам Спасём Россию Стройка Студяга ТВ Трамваи Транс Транспорт Уважаю Ужас Умный дом Филдрепорты Философия ФПМИ Хикки Хостинг Цитатник Школа 208 ЭГ Эксперимент
Twitter