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

SQL injekce v ADOdb a obecné zabezpečení webu

K útokům SQL injection dochází při vstupu uživatele je nesprávně zakódováno. Vstupem uživatele jsou obvykle data, která uživatel odešle se svým dotazem, tj. hodnoty v $_GET , $_POST , $_COOKIE , $_REQUEST nebo $_SERVER pole. Uživatelské vstupy však mohou pocházet také z různých dalších zdrojů, jako jsou zásuvky, vzdálené webové stránky, soubory atd.. Proto byste měli skutečně zacházet se vším kromě konstant (jako 'foobar' ) jako uživatelský vstup .

V kódu, který jste zveřejnili, je mysql_real_escape_string se používá ke kódování (=escape) uživatelských vstupů. Kód je tedy správný, tj. neumožňuje žádné útoky SQL injection.

Pamatujte, že je velmi snadné zapomenout na volání mysql_real_escape_string - a jednou stačí pro zkušeného útočníka! Proto možná budete chtít použít moderní CHOP s připravenými prohlášeními místo adodb.



  1. Bring Your Own Cloud (BYOC) vs. Dedikovaný hosting na ScaleGrid

  2. Získání režimu Hibernate a SQL Server, aby se dobře hrálo s VARCHAR a NVARCHAR

  3. Plně rozumím PDO ATTR_PERSISTENT

  4. Oracle sql:pořadí podle a odlišné klauzule