masterspammer (masterspammer) wrote,
masterspammer
masterspammer

футбол на минном поле или SQL Injection как способ работы с переменными

Сидел на кресле на работе, кодил на некотором скриптовом языке и тупил из-за синтаксических ошибок, ВДРУГ появляющихся во
вполне корректном на первый взгляд коде. Код, в одном случае корректно работающий, в другом начинал содержать явные
ошибки синтаксиса (например, число аргументов функции менялось на непотребное).

В мануале как-то этот момент плавно обтекается, но работает это извращение так:
Значение макропеременной просто __ПОДСТАВЛЯЕТСЯ__ в выполняемый код. Со всеми своими символами, включая и синтаксически значимые - можно и скобки, в которых аргументы перечислены, закрыть и через запятую ещё добавить.
И ещё - никаких кавычек!

Как будто каждая строка (возьму perl для аналогии) - eval("....$vat ... $var ...") - есть где багу разгуляться.
SQL Injection отдыхает - тут в каждой второй строке данные подставляются в код.

Всё сильнее и сильнее хочется водки!
Tags: Говнокод, Офигинеть!, Сервера
Subscribe

  • C++

    В общем, заплыв получился удачным. Надо поглядеть на boost и т.д. - неожиданно для меня разные типы указателей (считающих владение) оказались очень…

  • Если взять молоток, всюду видятся гвозди...

    Применение намагничивалки к вроде бы исправному 1А-20 (который я недавно собрал) дало подъём кривой импеданса вплоть до 30% на пике резонанса. С…

  • Не прошло и полвека

    Близнецы – явление, что ни говори, редкое… – Хороший сюжет, – вполголоса сказал Слава. Ярослав удивленно поднял глаза.…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 0 comments