it-swarm-eu.dev

Je bezpečné uložit heslo databáze do souboru PHP?)?

Můj soubor connection.php Ukládá přihlašovací údaje pro připojení k databázi:

<?php 
    $objConnect = mysql_connect("localhost","username","password"); 
    mysql_select_db("selectDB", $objConnect);
?>

Když se stránka potřebuje připojit k databázi, používám pouze <?php include("connection.php"); ?>.

Je to bezpečné? Mohou hackeři z tohoto souboru ukrást moje přihlašovací údaje?

32
OammieR

Moje doporučení: Neskladujte hesla ve zdrojovém kódu.

Místo toho je uložte do konfiguračního souboru (mimo webový kořenový adresář) a ujistěte se, že konfigurační soubor není veřejně přístupný. Důvodem je, že obvykle nechcete, aby vaše hesla byla kontrolována do úložiště zdrojových kódů nebo aby byla vystavena všem, kteří si mohou prohlížet soubory ve vašem webovém kořenovém adresáři.

Uložení hesel do .php soubor ve vašem webrootu, což je trochu nejasné, ale lze mu snadno zabránit umístěním souboru mimo webový kořen. Zvažte: pokud upravujete connection.php pomocí textového editoru a vaše připojení během editace poklesne, váš editor automaticky uloží kopii connection.php soubor v nějakém záložním souboru: např. connection.php~ (ve stejném adresáři). Nyní má záložní soubor jinou příponu, takže pokud se někdo pokusí tento soubor načíst, server Apache bude šťastně obsluhovat kopii tohoto souboru v prostém textu a odhalí heslo databáze. Podrobnosti - viz 1% serverů se systémem CMS odhaluje svá hesla databáze .

Viz také Jak projekty open source zpracovávají zabezpečené artefakty? , Open Source a jak to funguje pro zabezpečené projekty?

35
D.W.

Je to přiměřeně bezpečné. Chcete-li získat obsah souboru php, musí hacker napadnout server, nebo jej musíte nesprávně nakonfigurovat.

Přesto doporučuji nakonfigurovat mysql tak, aby uživatel použitý skript nebyl vzdáleně přístupný, a pro vzdálený přístup pro správu použijte jiného uživatele.

11
CodesInChaos

Problém nastane, pokud máte skript PHP), který možná stahuje soubory na váš server, např. download.php?=index.php.

Pokud zaškrtnete Google, uvidíte, že tato chyba zabezpečení existuje na mnoha jiných webech.

5
Victor Casé