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

Zabezpečení proti SQL Injection - PDO, mysqli

Níže jsou uvedeny body, které je třeba vzít v úvahu při vytváření bezpečné aplikace php.

  1. POUŽÍVEJTE PDO nebo mysqli
  2. Nikdy nevěřte žádným vstupům. Zvažte každou proměnnou $_POST, $_GET, $_COOKIE, $_SESSION, $_SERVER, jako by byla poskvrněná. Pro tyto proměnné použijte vhodné měřítko filtrování.
  3. Abyste se vyhnuli útokům XSS, použijte při vkládání uživatelských vstupních dat do databáze vestavěné funkce PHP htmlentities, strip_tags atd.
  4. Zakažte registraci Globals v PHP.INI
  5. Zakažte „allow_url_fopen“ v PHP.INI
  6. Nedovolte uživateli zadávat více dat, než je požadováno. Ověřte vstup, aby byl povolen maximální počet znaků. Také ověřte každé pole pro relevantní datové typy.
  7. Zakázat hlášení chyb po období vývoje. Může poskytnout informace o databázi, které budou užitečné pro hackery.
  8. Při odesílání formuláře použijte jednorázový token. Pokud token existuje a odpovídá, příspěvek formuláře je platný, jinak je neplatný.
  9. Používejte parametrizované databázové dotazy
  10. Používejte uložené procedury

Další podrobnosti můžete vyhledat u každého bodu pomocí Googlu. Snad to pomůže



  1. Převést SQLite na JSON

  2. Vícepříkazová funkce s hodnotou tabulky vs. funkce s hodnotou s vloženou tabulkou

  3. Session_set_save_handler není nastaven

  4. Podívejte se na alias názvu sloupce v klauzuli WHERE