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

Mám mysql_real_escape_string heslo zadané v registračním formuláři?

No, je tu jedno velké nedorozumění.

mysql_real_escape_string() nedělá čisté cokoli. Nemá to vůbec nic společného s bezpečností.

Tato funkce se používá pouze k opuštění oddělovačů a nic víc. Může vám pomoci vložit data řetězce do dotazu SQL – to je vše.

Takže každý řetězec, který vložíte do dotazu (v uvozovkách), jej musíte připravit pomocí této funkce. Ve všech ostatních případech by to bylo zbytečné nebo dokonce škodlivé.

Takže,
z tohoto nedorozumění děláte 2 hlavní chyby:

  • tuto funkci nepoužíváte s daty, která ve skutečnosti přicházejí do dotazu
  • můžete své heslo zkazit tím, že do něj přidáte nějaké symboly, takže se stane nepoužitelným

Jako vedlejší poznámku prosím mějte na paměti, že tato funkce by měla být vždy používána ve spojení s mysql_set_charset, nebo jinak "_real_" část této funkce se stane zbytečnou



  1. Jak vytvořit a vložit objekt JSON pomocí dotazů MySQL?

  2. MySQL - Vyberte ze seznamu čísel ta, která nemají protějšek v poli id ​​tabulky

  3. Omezení sloupce tak, aby přijímal pouze 2 hodnoty

  4. Jak přidat spouštěcí skript do kontejneru mysql docker?