Jak Začít?

Máš v počítači zápisky z přednášek
nebo jiné materiály ze školy?

Nahraj je na studentino.cz a získej
4 Kč za každý materiál
a 50 Kč za registraci!




Bezpečnost aplikací

PDF
Stáhnout kompletní materiál zdarma (320.07 kB)

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 

Témata, do kterých materiál patří