>Когда разработчики не дураки, обычно запросы идут через прослойку, которая автоматически приведение
>типов и экранирование выполняет.
>
>И тем не менее, вопрос о необходимости base64 остается открытым. Преимуществ перед
>слешами я пока не вижу, зато радостей по совместимости и изучению
>крякозябликов в логах будет вагон.
>
>А сама мысль о выделении переменных ^^ интересная, согласен. Да суть-то в другом.
Чтобы была схема:
юзер что-то ввел в форму - оно кодируется в base64 (на стороне клиента, а лучше - на стороне сервера) - передается в sql запрос в виде base64 - sql запрос уже сам декодирует и впихивает в поле.
При такой схеме sql-injection не возможен в принципе.
Можно не беспокоиться об экранировании и приведении типов.
Вообще пох, что там введет юзер.
Хоть бинарные данные, символы с ascii номерами 0-31.
Единственное, что нужно проверять - это размер строки.
Но это уже из другой логики - из области переполнения буфера)
Кстати, всякие шеллкоды тоже не смогут пробраться, если на стороне сервера все приходящие переменные сразу кодировать в base64.
Поэтому идея гениальна своей простотой и эффективностью.