sql >> Databáze >  >> RDS >> Mysql

bind_param() nutné pouze u hodnot zadaných uživatelem nebo všech?

Technicky nejste ohroženi, pokud nepřipravíte data, která nepocházejí z uživatelského vstupu. Důrazně se však doporučuje tak učinit z několika důvodů:

  1. Pokud někde zapomenete připravit nějaká uživatelská vstupní data, je možné, že tento uživatel vložil do datového řádku něco různého, ​​o čem jste neočekávali, že se někdy stane uživatelským vstupem.
  2. Je dobrým zvykem opakovat to, co děláte, aby byl váš server zabezpečen. Pokud to začnete míchat, je mnohem pravděpodobnější, že zapomenete připravit data tam, kde je to skutečně potřeba.
  3. Příprava dat není jen proto, abyste zabránili vkládání SQL útočníkům. Také to zabrání některým problémům s databází v případě, že omylem vytvoříte chybu ve svém kódu. Například:

Někde ve svém kódu máte systém protokolů, který do vaší databáze přidává protokol chyb. Řetězec by byl:


Tento řetězec je generován vaším skriptem. Proto si to nepřipravte. Přesto uvozovky uvnitř tohoto řetězce způsobí chyby ve vaší databázi, kterým by se dalo předejít, pokud byste ji přesto připravili.



  1. Instalace Oracle Instant Client

  2. Z časového razítka v SQL, výběr záznamů z dneška, včerejška, tohoto týdne, tohoto měsíce a mezi dvěma daty php mysql

  3. UNIQUE Omezení, pouze pokud pole obsahuje konkrétní hodnotu

  4. Jak duplikovat databázi pomocí phpMyAdmin