Mysql
 sql >> база данни >  >> RDS >> Mysql

Предотвратяване на SQL инжектиране в динамичен SQL

Ахаха, това е просто фантастично!
Най-накрая успях да разбера какво това момче означава ли под неговия "динамичен sql". Нищо чудно, тъй като е перфектно прикрит и изглежда като обикновен SQL както на пръв, така и на втори поглед!

Ето отговора:

Не го правете. Винаги.

Вашата идея за "динамичен" SQL е по същество погрешна. Никой не го прави по този начин.

Не знам конкретната ви задача, но решението ви очевидно е грешно. И със сигурност има разумен начин да го направите. Просто следвайте тези прости правила:

  • отървете се от meta_table
  • отървете се от SQL заявките, съхранявани в базата данни
  • напишете (или изградете) всичките си заявки в приложението си само от два източника:
    • твърдо кодиран SQL, предварително написан във вашия код
    • подготвени оператори за всички променливи части

и целият ви SQL е напълно безопасен




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Създаване на jqplot графика с помощта на php

  2. MySQL TEXT срещу BLOB срещу CLOB

  3. Регистрирайте всяка MySQL заявка във файл, като активирате Общия регистър в MAMP

  4. Препоръчителна система за горещо архивиране за MySQL?

  5. MySQL ABS() функция – Връща абсолютната стойност на число