Bezpečnost aplikací
Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.
department of computer
science
and engineering
X36TW1 – Tvorba webových aplikací 1
Přednáška 9 / Strana 39
Zabezpečení konfiguračních souborů
Konfigurační soubory obsahují citlivá data.
Přístup z webu řešily předchozí stránky.
Soubory zůstávají čitelné pro uživatele uvnitř systému.
Ideálně by měly být tyto soubory čitelné jenom pro jejich
vlastníka.
Řešení...
department of computer
science
and engineering
X36TW1 – Tvorba webových aplikací 1
Přednáška 9 / Strana 40
Řešení #1
Vyžaduje přístup k Apache.
Nastavení připojení k DB mohou být určeny ini direktivami.
Soubor s nastavením se pak nahraje do httpd.conf pomocí
příkazu Include.
mysql.cnf
mysql.default_host=localhost
mysql.default_user=forum
mysql.default_password=secret
httpd.conf
<VirtualHost 1.2.3.4>
Include “/site_12/mysql.cnf”
</VirtualHost>
Apache přistupuje k souboru jako “root”, takže soubor může mít
práva (0600).
department of computer
science
and engineering
X36TW1 – Tvorba webových aplikací 1
Přednáška 9 / Strana 41
Řešení #2
Vyžaduje přístup k Apache
Ostatní nastavení mohou být uložena do proměnných
serveru.
misc_config.cnf
SetEnv NNTP_LOGIN "login"
SetEnv NNTP_PASS "passwd"
SetEnv NNTP_SERVER "1.2.3.4”
httpd.conf
<VirtualHost 1.2.3.4>
Include “
misc_config.cnf”
</VirtualHost>
echo $_SERVER[‘NNTP_LOGIN’]; // login
echo $_SERVER[‘NNTP_PASS’]; // passwd
echo $_SERVER[‘NNTP_SERVER’]; // 1.2.3.4
department of computer
science
and engineering
X36TW1 – Tvorba webových aplikací 1
Přednáška 9 / Strana 42
Hesla a bezpečnost
Hesla musí být vždy uložena v DB zakódováně (sha1, md5)
– mysql_query("SELECT * FROM uzivatele WHERE login =
'$_POST[login]' AND heslo_sha1 = '" .
sha1(stripslashes($_POST["heslo"])) . "'");
Při změně hesla vždy požadujeme původní heslo.
– mysql_query("UPDATE uzivatele SET heslo_sha1 =
SHA1('$_POST[heslo]') WHERE login = '$_POST[login]' AND
heslo_sha1 = SHA1('$_POST[heslo_puvodni]')");
Přidání náhodného řetězce (salt) k heslu předcházíme jeho