zabezpečenie php heslom

Programovacie jazyky, rady, poradňa...
saskoo49
Expert
Expert
Príspevky: 152
Registrovaný: 02 apr 2008, 18:39

zabezpečenie php heslom

Príspevok od používateľa saskoo49 »

Dobrý deň.
Mám taký problém.
Chcem na web spravit administráciu, ktorá sa otvorí po zadaní administrátorského hesla. ale nejako sa mi to nedarí. Skúšam to spravit cez funkciu IF ale ked zadám ze ak sa funkcia nesplni, tak aby sa stránka presmerovala na iný odkaz.
Subor admin.php

Kód: Vybrať všetko

<form action="over.php" method="post">
<table width="52%" border="0" cellpadding="4" cellspacing="4" class="loginform">
          <tr> 
            <td width="50%" align="right" valign="middle"><font face="calibri"><font color="#3399cc"><strong><big>Administrátorské heslo:</strong></font></td>
            <td width="50%" align="left"><input name="heslo" type="password" id="heslo" size="25"></td>
          </tr>
          <tr> 
            <td colspan="2" align="center" valign="middle"><input name="overenie" type="submit" id="overenie" value="Vstúpiť do administrácie" /></td>
          </tr>
        </table>
Súbor over.php

Kód: Vybrať všetko

<?php
$heslo = $_POST['heslo'];
if ($heslo!="skuska")
echo "<strong>Nesprávne heslo !</strong>";
else
echo "<strong><a href="admin2.php">Vstúpiť do administrácie</a></strong>";
?>
stále to vipisuje chybu, ak namiesto odkazu zadám iba test tak to funguje. Ale ja tam potrebujem odkaz, prípadne presmerovanie na iný súbor. Kde mám chybu?

A ešte malý detail krásy :) funkcia mi funguje nejako naopak :) ak zadám heslo "skuska" tak sa spraví to čo je zapísané pre nesplnenie podmienky, ak zadám hociaké iné tak sa vypíše to čo je napísané v riadku pre splnenie podmienky :) ale to sa dá vyriešiť jednoducho prehodením funkcie.

Kde robím chybu? Vopred ďakujem.
G0lDiER_
King
King
Používateľov profilový obrázok
Príspevky: 1948
Registrovaný: 16 máj 2007, 16:09
Bydlisko: Topolcany
Kontaktovať používateľa:

Re: zabezpečenie php heslom

Príspevok od používateľa G0lDiER_ »

v echo mas uvodzovky, cim uzatvaras echo, takze :

Kód: Vybrať všetko

echo "<a href=\"admin2.php\">administracia</a>"
..alebo v echo namiesto " pouzit '
saskoo49
Expert
Expert
Príspevky: 152
Registrovaný: 02 apr 2008, 18:39

Re: zabezpečenie php heslom

Príspevok od používateľa saskoo49 »

Dik. a keby som tam chcel dat kod na presmerovanie? ako by to vyzeralo?
Tento kod:

Kód: Vybrať všetko

<meta http-equiv="refresh" content="0;url=admin2.php">
G0lDiER_
King
King
Používateľov profilový obrázok
Príspevky: 1948
Registrovaný: 16 máj 2007, 16:09
Bydlisko: Topolcany
Kontaktovať používateľa:

Re: zabezpečenie php heslom

Príspevok od používateľa G0lDiER_ »

Kód: Vybrať všetko

echo "<meta http-equiv=\"refresh\" content=\"0;url=admin2.php\">";
//autoeditácia príspevku (20 Mar 2011, 21:28)
btw neviem ci to chces nejako osetrit, ale ak nie a das tam presmerovanie na stranku, tak na tu cestu ku administracii ti niekto moze prist a dostane sa do nej aj bez hesla.
saskoo49
Expert
Expert
Príspevky: 152
Registrovaný: 02 apr 2008, 18:39

Re: zabezpečenie php heslom

Príspevok od používateľa saskoo49 »

:) ano viem ze sa tam bude dat dostat aj bez hesla. ale to mam ošetrene trochu inak :) nazov suboru administracie nebude admin2.php ale vygenerovany programom (fahoboji95.php) :) takze take nikoho nepanadne. a cez tie subory admin.php a over.php sa k tomuto nazvu suboru nedostane :)

//autoeditácia príspevku (20 Mar 2011, 21:33)
a ono ked nezada spravne heslo tak mu vypiše ze nespravne heslo. prezrel som zdrojak v prehliadaci a nie je tam vypisane čo by sa stalo keby zadal spravne heslo :)
G0lDiER_
King
King
Používateľov profilový obrázok
Príspevky: 1948
Registrovaný: 16 máj 2007, 16:09
Bydlisko: Topolcany
Kontaktovať používateľa:

Re: zabezpečenie php heslom

Príspevok od používateľa G0lDiER_ »

no on toho je php;p
94jakub
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2037
Registrovaný: 15 dec 2006, 13:18
Bydlisko: Martin/BA
Kontaktovať používateľa:

Re: zabezpečenie php heslom

Príspevok od používateľa 94jakub »

alebo to sprav tak, že pri prihlásení sa heslo alebo nejaká premenná uloží do SESSION.
A potom v tom admin2.php (alebo ako ho máš pomenovaný) na začiatku overíš či je zadané heslo.
Takto ti nikto neotvorí ten súbor admin2.php
Napísať odpoveď