PHP_My_Admin + logovani na webu

From: Martin Zeidler (zm@wo.cz)
Date: 26. 12. 2000, 12:06 CET


Pouziva tady nekdo PhpMyAdmin pro spravovani MySQL databaze? Mam tady jeden
technicky problem...
Kdyz delam u sebe na pocitaci, tak se staci k databazi prihlasit jako root,
ale kdyz PhpMyAdmin nakopiruji na web, tak se musim prihlasit pouze ke svoji
databazi. Na tom neni nic tezkeho, staci do souboru CONFIG.INC.PHP3 zapsat
potrebne udaje (jmeno stroje, nazev databaze, jmeno, heslo). Kdyz to tam
zapisu "natvrdo" a prenesu to na web (FBI.CZ) tak se PhpMyAdmin spravne
naloguje na moji databazi a funguje. Problem je ten, ze kdyz to udelam
takto, tak se na tu databazi dostane kazdy, kdo spusti INDEX.PHP3 v adresari
s PhpMyAdmin. Coz neni z bezpecnostniho hlediska az takova vyhra :o)) Takze
tady ted resim, jak udelat logovani pomoci formulare. Ted jeste jak to tam
probiha:

1. Spusti se Index.php3
2. require('lib.inc.php3');
3. Spusti se "lib.inc.php3"
4. require("config.inc.php3");
5. Spusti se "config.inc.php3"

Takze ted jsem vnoreny az ve tretim souboru a v tom je konfigurace
pripojeni:

$cfgServers[1]['host'] = 'localhost';
$cfgServers[1]['only_db'] = 'databaze';
$cfgServers[1]['password'] = 'heslo';
$cfgServers[1]['user'] = 'jmeno';

Takze kdyz to sem napisu "natvrdo", vsechno chodi. Potrebuju sem ale
minimalne jmeno a heslo dostat jako promenou, ktera se tam vlozi z
formulare. Proto jsem si udelal tenhle formular, ktery se spousti jako prvni
a po odeslani zavola index.php3:

<form action="index.php3" method=get>
<table border=1 bgcolor="Yellow" bordercolor="Black">
<tr><td bordercolor="Yellow">&nbsp;Jméno:&nbsp;</td><td
bordercolor="Yellow"><input type="text" name="jmeno" size=10
alt=""></td></tr>
<tr><td bordercolor="Yellow">&nbsp;Heslo:&nbsp;</td><td
bordercolor="Yellow"><input type="text" name="heslo" size=10
alt=""></td></tr>
<tr><td colspan=2 align="CENTER" bordercolor="Yellow"><input type="submit"
value="Vstoupit" alt=""></td></tr>
</table>
</form>

Po odeslani jsou tedy ve scriptu index.php3 dostupne promenne $jmeno a
$heslo. Jeste je tedy potreba zmenit 2 radky v tom konfiguracnim souboru
"config.inc.php3" na:

$cfgServers[1]['host'] = 'localhost';
$cfgServers[1]['only_db'] = 'databaze';
$cfgServers[1]['password'] = "$heslo";
$cfgServers[1]['user'] = "$jmeno";

Zkousim to u sebe na localhostu - vsechno v poradku, prihlasi se to pouze po
zadani spravneho jmena a hesla. Prenesu to na FBI.CZ - a nechodi to :o((
Hlasi to Pristup zamitnut:

Warning: MySQL Connection Failed: Access denied for user: 'httpd@localhost'
(Using password: NO) in /zone1/webs/fbi.cz/......

Bohuzel naprosto nevim proc mi to nefunguje, kdyz stejny script u me na
pocitaci beha bez problemu. Neni problem s predavanim tech promennych $jmeno
a $heslo do tech vnorenych souboru?

Jeste podotykam, ze databaze jim v tu chvili fungovala - mel jsem bokem
script ktery overoval funkcnost databaze a bylo vsechno v poradku...

Diky za kazdy napad...

Martin Zeidler
----------------------
mailto:pepa_z_hongkongu@wo.cz
http://zeidler.web.worldonline.cz
http://kopec.web.worldonline.cz



This archive was generated by hypermail 2.1.2 : 04. 09. 2001, 04:48 CEST