Je bezpečné uchovávat heslo od databáze v PHP kódu – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Je bezpečné uchovávat heslo od databáze v PHP kódu – PHP – Fórum – Programujte.comJe bezpečné uchovávat heslo od databáze v PHP kódu – PHP – Fórum – Programujte.com

 

Adam
~ Anonymní uživatel
176 příspěvků
11. 9. 2020   #1
-
0
-

Zdravím, potřeboval bych radu.

Vytvořil jsem si moje stránky a databázi, pomocí které načítám některé informace na stránky.

Přihlašovací údaje k databázi jsem vložil přímo do PHP souboru s kódem stránky. Je to bezpečné?

A příp. jak přihlašovací údaje k DB uložit jinak?

Předem moc děkuji za odpověď! A. J.

Nahlásit jako SPAM
IP: 89.102.236.–
gna
~ Anonymní uživatel
1891 příspěvků
11. 9. 2020   #2
-
0
-

To je běžná praxe, klidně to tak nech. Akorát ne někde uprostřed kódu (který verzuješ/archivuješ), ale v samostatném konfiguračním souboru.

Bezpečné je to jenom tak, jak je bezpečný ten server/webovka.

Nahlásit jako SPAM
IP: 213.211.51.–
peter
~ Anonymní uživatel
4016 příspěvků
14. 9. 2020   #3
-
0
-

To je obecne komplikovany problem. Par let nad tim premyslim, ukladam to ruzne.
1. config.php - nevyhodou je proflaknuty nazev, kam se hackeri zameri
2. slozka cfg/ ktera ma zvysena zabezpeceni proti php uzivatelum, ftp uzivatelum a je mimo program. Nevyhodou je, ze pri kopirovani programu na ni zapomenes
3. samostatne minisoubory pro ruzne prihlasovaci udaje, sql zvlast, ldap zvlast a pod. Do nejakeho configu pak odkazes na soubor a cestu k nemu. Tu cestu mas zabezpecenou. Vyhoda je, ze ziskas presne ty udaje, co chces a nemas jeden velky soubor s prihlasovacimi udaji. A nemas v configu zadne udaje, pouze pristupne pres php. Takze, kdyz kopirujes program, tak s nim nekopirujes i prihlasovani. O tom ted premyslim. A tez se to dobre verzuje. Ale je dobre pridat ukazku, jaka data z tech souboru ziskas.
 

--- config.php ---
$config = array();
require_once '../config/sql-root.php';  //$sql = array('user'=>'root' ...)
$config['sql'] = $sql;
Nahlásit jako SPAM
IP: 2001:718:2601:258:4dbc:3838:5a25:f2e0...–
peter
~ Anonymní uživatel
4016 příspěvků
14. 9. 2020   #4
-
0
-

A soucasne jeste delam to, ze udelam unset($sql). A v konstruktoru pro class-driveru mam prevzeti udaju. A hned dalsim prikazem je unsetnu i z $config. Takze bude muset hacker do class driveru, aby je vypsal A i tam je po nalogovani casto unsetnu. Jakoze nestaci pres php vypsat var_dump($config) a mas vse, co spravny hacker potrebuje :)

Nahlásit jako SPAM
IP: 2001:718:2601:258:4dbc:3838:5a25:f2e0...–
Kit+15
Guru
14. 9. 2020   #5
-
0
-

#3 peter 

--- config.php ---
$config['sql'] = include '../config/sql-root.php';  // return array('user'=>'root' ...)

Ovšem takhle složitě to nedělám. 

$sqlConfig = include '../config/sql-root.php';
$db = new MyPDO($sqlConfig);
$model = new Model($db);

Přesněji řečeno si po získání přístupových údajů tu databázi hned napůl otevřu a strčím do modelu, který ji už nikomu nedá.

Nahlásit jako SPAM
IP: 46.135.9.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
peter
~ Anonymní uživatel
4016 příspěvků
17. 9. 2020   #6
-
0
-

A je takovy zpusob bezpecny? Vis, protoze s tim include ukladas do souboru text 

array(
	'host'  => 'localhost',
	'user'  => 'root',
	'psw'   => '',
	'db'    => 'kontakty',
	'tbl_pref' => 'k_',	// table prefix
	);

A pokud nekdo zhodi php, tak ti server zobrazi plain-text / php source-code, pokud je tak nastaveny. Ale to je mozna ok, protoze kdyz zobrazi i jiny php kod, tak je to spatne nastaveny server, opravneni do slozky a k souboru s configem. A tim padem by to bylo uplne jedno. Hlavne tomu treba dat aspon priponu php. Nicmene, porad je to include a kdyz tam nemas php tagy? Ale zkusim to, libi se mi to vic nez to me reseni. Jen se mi nechtelo tehdy premyslet nad jinymi moznsotmi, potreboval jsem resit kod programu.

Nahlásit jako SPAM
IP: 2001:718:2601:258:4dbc:3838:5a25:f2e0...–
peter
~ Anonymní uživatel
4016 příspěvků
17. 9. 2020   #7
-
+1
-
Zajímavé
Kit +

   

<?php
return array(
	'host'  => 'localhost',
	'user'  => 'root',
	'psw'   => '',
	'db'    => 'kontakty',
	'tbl_pref' => 'k_'	// table prefix
	);
?>

Takze to musi byt takhle, aby to slo includovat jako $sqlConfig = include '../config/sql-root.php';
 

Nahlásit jako SPAM
IP: 2001:718:2601:258:4dbc:3838:5a25:f2e0...–
Kit+15
Guru
17. 9. 2020   #8
-
0
-

#7 peter
Hlavně to musíš umístit tam, kam Apache nemá přístup, ale PHP to bude umět includovat.

BTW: require_once ani include_once nepoužívám, nemám pro ně uplatnění.

Nahlásit jako SPAM
IP: 46.135.5.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 32 hostů

Podobná vlákna

Úprava PHP kódu — založil Gabriel

Chyba v PHP kódu. — založil pari

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý