Avaleht
uus teema   vasta Tarkvara »  WWW »  Kodulehe kaitsmine parooliga. märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale. Teata moderaatorile
otsing:  
Quexz
HV vaatleja

liitunud: 25.02.2011




sõnum 25.02.2011 13:25:02 Kodulehe kaitsmine parooliga. vasta tsitaadiga

Tere!

Ma soovin mõned lehed oma kodulehel parooliga kaitsta.
Tegin esiteks siis login vormi:
<form action='form_login.php' method='post'>
Username: <input type='text' name='user'>
Password: <input type='password' name='pass'>
<input type='submit' value='Login'>
</form>


ja form_login.php:
<?php
if ($_POST["user"]=="login" && $_POST["pass"]=="user")
{
include "mingi.htm";
}
elseif($_POST["user"]=="login2" && $_POST["pass"]=="user2")
{
include "mingi2.html";
}
else {
echo "Valed andmed!";
}
?>


Et need ilusti töötaks ja kasu ka sellest oleks siis oleks mul vaja siia lisada välja logimine. Milline kood see peaks olema? Teiseks oleks vaja need lehed ära kaitsta ka kuhu ma parooli peale panen, et ei saaks lehenime trükkides sisse vaid suunab logimise peale..
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 25.02.2011 13:55:41 vasta tsitaadiga

Hetkel sul on kohe automaatselt väljas, kui uuesti lehte laed. Pane sinna form_login.php lehele üks link
<?php
if(isset($_POST['user'])){
echo '<a href="?">Logi välja</a>';
if ($_POST["user"]=="login" && $_POST["pass"]=="user")
{
include "mingi.htm";
}
elseif($_POST["user"]=="login2" && $_POST["pass"]=="user2")
{
include "mingi2.html";
}
else {
echo "Valed andmed!";
}
}else{
echo '<form action="?" method="post">
Username: <input type="text" name="user">
Password: <input type="password" name="pass">
<input type="submit" value="Login">
</form>';
}

?>


Muidu hoitakse sisselogimis andmeid kas session sees või küpsistes, et need ka teisele lehele minnes alles oleksid, praegust sa lehte vahetada ei saa oled kohe väljas oma logimisest.
Paroole võiks hoida kas siis andmebaasis või failis, ühe kahe kasutaja puhul pole vist ka sellisel lahendusel eriti viga.
Kuidas kaitsta? Teed näiteks lisatava lehe php ks.

<?php
$leht = 'Tere, siin on minu leht </br> <img src="mina.jpg"/>';
?>


ja kuvamisel echod selle välja


{
include "mingi2.php";
echo $leht;
}

_________________


viimati muutis andrusny 28.02.2011 13:23:11, muudetud 1 kord
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
tupsuke
HV vaatleja

liitunud: 10.03.2003




sõnum 25.02.2011 16:11:14 vasta tsitaadiga

.htaccess faili kaudu on näiteks ka üks võimalus - http://www.elated.com/articles/password-protecting-your-pages-with-htaccess/
_________________
´==================='

tups
Kommentaarid: 1 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 1
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Quexz
HV vaatleja

liitunud: 25.02.2011




sõnum 26.02.2011 19:36:33 vasta tsitaadiga

aga miks tuleb ette see error?
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /home/a4767024/public_html/form_login.php on line 16
enda kirjutatud koodiga ta mulle seda errorit ette ei viska aga millegi pärast sellega viskab..
kas selles võib midagi valesti olla?
tagasi üles
vaata kasutaja infot saada privaatsõnum
czcc
HV vaatleja

liitunud: 22.04.2005



Autoriseeritud ID-kaardiga Online

sõnum 28.02.2011 10:07:24 vasta tsitaadiga

Quexz kirjutas:
aga miks tuleb ette see error?
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /home/a4767024/public_html/form_login.php on line 16
enda kirjutatud koodiga ta mulle seda errorit ette ei viska aga millegi pärast sellega viskab..
kas selles võib midagi valesti olla?


php:
  1. <?php
  2. if(isset($_POST['user'])){
  3. echo '<a href="?">Logi välja</a>';
  4. if ($_POST["user"]=="login" && $_POST["pass"]=="user")
  5. {
  6. include "mingi.htm";
  7. }
  8. elseif($_POST["user"]=="login2" && $_POST["pass"]=="user2")
  9. {
  10. include "mingi2.html";
  11. }
  12. else {
  13. echo "Valed andmed!";
  14. }
  15. }else{
  16. echo "<form action='?' method='post'>
  17. Username: <input type='text' name='user'>
  18. Password: <input type='password' name='pass'>
  19. <input type='submit' value='Login'>
  20. </form>";
  21. }
  22.  
  23. ?>
Kommentaarid: 18 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 16
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 28.02.2011 13:27:26 vasta tsitaadiga

tsitaat:
aga miks tuleb ette see error?

Minu näpukas, ei pannud tähele, et sul oli koodis ühekordne jutumärk action ja name väljade peal ja kasutasin echo märkideks samu.
Nüüd parandasin oma koodi ka. Echo jaoks on kasulik kasutada ühekordseid kui html väljastad, siis ei pea html siseseid märke muutma.

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
keevitaja
AM 10 aastat
keevitaja

liitunud: 05.11.2001




sõnum 28.02.2011 13:32:06 vasta tsitaadiga

html blokkide väljastamiseks oleks üldse mõttekas kasutada php alternatiivset süntaksit


<html>
<?php if($test): ?>
<p>on test</p>
<?php else: ?>
<p>ei ole test</p>
<?php endif; ?>
</html>

_________________
Hinnavaatlus ei ole koht arvamuse avaldamiseks!
Kommentaarid: 51 loe/lisa Kasutajad arvavad:  :: 1 :: 3 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 28.02.2011 17:45:45 vasta tsitaadiga

See oleneb nüüd vist ka sellest palju sa sisu välja pritsid, sellise näite puhul, kus lased kaks kolm sõna pole vast mõistlik php katkestada, kuid kui ikka on terve lehekülg HTML i mingi if sees siis on see täiesti omal kohal, ka ise kasutan.
_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Quexz
HV vaatleja

liitunud: 25.02.2011




sõnum 28.02.2011 21:55:32 vasta tsitaadiga

kas see logi välja valesti ei ole?
kui ma valed andmed panen ja kirjutab Valed andmed, siis tuleb ju Logi välja ka, aga kuskilt pole ju välja logida..
kas tal ei peaks mingi käsk tulema et kui on sisse logitud siis tuleb Logi välja?
tagasi üles
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 28.02.2011 23:00:00 vasta tsitaadiga

Ei ole valesti, programm teebki ju alati seda mida kästakse, kuid mitte kunagi seda mis vaja on.
Pane ta siis sinna kus on sisse logitud ala.
<?php
if(isset($_POST['user'])){

if ($_POST["user"]=="login" && $_POST["pass"]=="user")
{
echo '<a href="?">Logi välja</a>';
include "mingi.htm";
}
elseif($_POST["user"]=="login2" && $_POST["pass"]=="user2")
{
echo '<a href="?">Logi välja</a>';
include "mingi2.html";
}
else {
echo "Valed andmed!";
}
}else{
echo '<form action="?" method="post">
Username: <input type="text" name="user">
Password: <input type="password" name="pass">
<input type="submit" value="Login">
</form>';
}

?>

_________________
Kommentaarid: 7 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 7
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  WWW »  Kodulehe kaitsmine parooliga.
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.