- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
или плагин для вордпресса поставить и все проблемы решатся )
По своему опыту судишь, фантазёр?
или плагин для вордпресса поставить и все проблемы решатся )
xD тучу плагинов WP и бубен в подарок)
было предложено технически правильное решение
Где? Кем? Когда? Единственно правильное решение было предложено мной в посте #7.
Sitealert, мной и aravak. Использование pdo-функций перед записью в БД. Это технически корректное решение, которое работает вне зависимости от структуры данных и того, что нужно сохранить в БД.
ТС боится, что ему запишут вредоносный код в базу и он там исполнится. Это ключевое в его посте. Для того, чтобы не исполнялся вредоносный код, есть встроенные инструменты языка.
Если программист не знает о экранировании и пытается использовать strip_tags или htmlspecialchars для того, чтобы избежать SQL-инъекций - нужно найти другого программиста. Или отправить текущего на повышение квалификации.
Ваш совет корректен, но если программист не будет знать о такой мелочи как экранирование - это никак не поможет ТСу.
Dreammaker поражаюсь вашему терпению, так долго разжевывать очевидное явно слабо понимающему в теме любителю поучить других
Слушайте, я совсем выпал из темы - а как PDO экранирует данные перед записью? Экранирует ли? можно ссылью ответить
Слушайте, я совсем выпал из темы - а как PDO экранирует данные перед записью? Экранирует ли? можно ссылью ответить
Ну если коротко, не заглядывая под капот, то вот https://www.php.net/manual/en/pdo.prepared-statements.php
Если очень хочется использовать sql прям строкой без bindParams то вроде quote была функция у pdo
aravak, Спасибо. В любом случае и тут нужно не только взять кастрюлю чтобы стать поваром - нужно и уметь готовить. Вспомнил про бинд и prepare, в любом случае их нужно применять.
Sly32, тут ещё более интересный момент есть - вот почитайте топик https://stackoverflow.com/questions/134099/are-pdo-prepared-statements-sufficient-to-prevent-sql-injection/12202218, который показывает, что нужно предусмотреть, чтобы не было проблем (это помимо использования bindParam).
В основном проблема может коснуться 2 вещей:
1) очень старые версии MySQL и если не задаётся кодировка запроса или же не используется параметр кодировки в подключении pdo;
2) Случай, похожий на тот который описывал SeVLad - записанный в базе текст запроса. Тут может быть нюанс, если потом этот поле в дальнейшем используется как часть другого запроса. В реальном мире, как написано, насколько известно автору комментария не используется, но теоретически возможно.
Вывод - опять же всё упирается в квалификацию программиста и его умением использовать инструменты. Но могут быть нюансы, в случае, если с кодом в дальнейшем будет работать программист с меньшим уровнем знаний.
В любом случае спасибо ТСу и всем кто принимает участие в этом топике. :)
Dreammaker поражаюсь вашему терпению, так долго разжевывать очевидное явно слабо понимающему в теме любителю поучить других
Смешной ты, "знаток". Как говорят тут на форуме – иди, поучи жену щи варить. Блеснул "знаниями"? Ну и будь собой доволен. Только вот никому не советовал бы с тобой связываться по деловым вопросам.