[ nikol@c @ 25.01.2006. 12:25 ] @
Pozdrav ljudi!
Susrecem se sa sledecom enigmom.
Imam php stranicu u koju mogu da unosim recimo novosti uz pomoc mysql baze
u koju se novosti spremaju a skripta ih poziva i sve to funkcionise.
Te novosti unosim preko stranice: www.moj-sajt.com/administracija, e ja bih htio da pristup ovoj stranici omogucim samo pomocu lozinke, dakle kada je pozovem da mi se otvori prozor koji trazi korisnicko ime i lozinku.
Nadam se d je pitanje postavljeno u pravom forumu :o)

Hvala unaprijed!
[ sale83 @ 25.01.2006. 12:40 ] @
Pa recimo google -> .htaccess .htpasswd

Imas gomilu sajtova gde je to lepo objasnjeno

Sem toga dosta puta je o tome bilo reci na Forumu!!!


[Ovu poruku je menjao sale83 dana 25.01.2006. u 13:43 GMT+1]
[ E-one @ 26.01.2006. 00:01 ] @
napravis stranicu sa formom koja ima dva tekst boxa u koje upises user i password i kad kliknes na dugme prosledis ih stranici za administraciju. na toj stranici izvrsis proveru ispravnosti podataka i ako su dobri prikazes je a ako nisu izbacis poruku o gresci. to bi moglo ovako da izgleda:

prva.php
-----------
<body>
<form id="form1" name="form1" method="post" action="druga.php">
<label>user
<input type="text" name="user" />
</label>
<label><br />
password
<input type="password" name="password" />
</label>
<label><br />
<input type="submit" name="Submit" value="Submit" />
</label>
</form>
</body>


druga.php
-------------
<body><?
$user=$_POST["user"];
$password=$_POST["password"];

if ($user=='ime' && $password=='lozinka'){
?>
stranica za administraciju
<? } else { ?>
Greska prilikom unosa!!!
<? } ?>
</body>


Naravno mozes user i password da cuvas u bazi pa odatle da izvlacis podatke i proveravas ispravnost. Ovo je samo kostur kako bi moglo da izgleda.
[ Leftfield @ 26.01.2006. 12:48 ] @
Ne zaboravi shifrovati lozinku, i odradi slash.
[ Leftfield @ 26.01.2006. 13:02 ] @
Nesto jutros nisam lijen.
Prvo dodas korisnika ovako:

$q = '
INSERT INTO users(email, passwd)
VALUES ("'. $email. '", "'. sha1($password).'")
';
mysql_query($q);

Pa ga trazis ovako:

$q = '
SELECT * FROM users
WHERE email="'. $email. '"
AND passwd ="'. sha1($password). '"
';
$r = mysql_query($q);

if (mysql_num_rows($r) == 1) {
return TRUE;
} else {
return FALSE;
}


Znaci ovo sha1() ti kodira lozinku mislim 64bitno. Imas i md5 da znas.
I obavezno odradi "addslashes".
[ nikol@c @ 27.01.2006. 11:00 ] @
Ovo je sve ok i funkcionise.
Hvala svima!

Ali javlja mi se sledeci problem:
Na zasticenoj stranici imam vise linkova koji vode na php stranice za administraciju: dodavanje_vijesti, brisanje_vijesti, dodavanje_slika, brisanje_slika ...

e, kad tim stranicama pristupim direktno (upisem njihovu tacnu adresu) ne trazi mi nikakvu lozinku vec ih otvori "lagano".

Kako podesiti da se njima ne moze direktno pristupiti vec samo preko stranice na kojoj su linkovi prema njima.

Poz,
Nikola
[ sale83 @ 27.01.2006. 11:52 ] @
Pa jel sam ti reko :

.htaccess .htpasswd

Ako ti je sve u folderu admin " Koji zelis da zastitis" onda lepo sam ti reko .htaccess .htpasswd

.htpasswd -> Stavljas izvan root-a

GOOGLE !!!!!!!!!!!!!!!!!!!!!!!!!!
[ Nemanja Avramović @ 27.01.2006. 13:16 ] @
Napravi jednu stranicu koja proverava login, i ako je tacan onda ne radi nista (iskulira ) a ako je netacan login (odnosno nema logina) onda ispisuje login box (formular za login). Ispod toga naravno stoji die();
Takav fajl include-uj na pocetku svake stranice koju zelis da zastitis...

[Ovu poruku je menjao JaHvram dana 27.01.2006. u 14:22 GMT+1]
[ nikol@c @ 27.01.2006. 13:48 ] @
@JaHvram i ta ti je dobra ali uspio sam i na ovaj nacin

@sale83 hvala puno, malo si me napatio jer si nekako mistican (vise navodis na pravi put nego sto izvodis) :-) u svakom slucaju znacilo je i neke stvari sam naucio. Ovo pisem samo iz razloga jer morate razumjeti da pocetniku kome za upute napisete: .htaccess .htpasswd , bez ikakvih dodatnih objasnjenja mogu da izazovu samo konfuziju i odustajanje.

Za google si potpuno u pravu!!

Poz,
Nikola