Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Logowanie
Forum PHP.pl > Forum > PHP
kamil1114
Czy ten skrypt logowania jest bezpieczny ? Jeśli nie to prosiłbym o podanie co jest tutaj najbardziej nie bezpieczne.
Kod
<html>
<head>
</head>
<body>

<form method="POST">
Podaj login: </br>
<input type="text" name="login"></br>
Podaj haslo: </br>
<input type="password" name="haslo"></br>
<input type="submit" name="wyslane" value="Wyslij"></br>
<input type="reset" value="Wyczysc">
</form>
<?php

$wyslane=$_POST['wyslane'];
if(isset($wyslane)){
$login=$_POST['login'];
$haslo=$_POST['haslo'];

$id="login";
$hash="haslo";
if($login===$id && $haslo===$hash){

echo "zalogowane";

}

else echo "Złe dane";

}
else echo "Wypełnij pola";



?>

</body>
</html>
Rafal Filipek
wiesz ten skrypt jest tak prosty ze ciezko tu cos powiedziec... bardziej interesujace jest to co pozniej z nim zrobisz ... nie wiem po co tworzysz tyle zmiennych ( $wyslane, $login, $haslo ) ale to juz tak na marginesie :
Kod
<?php
if(isset($_POST['wyslane]){
    if($_POST['login']=='login' && $_POST['haslo']=='haslo'){
        echo 'zalogowano';
    }else{
        echo 'zle dane';
    }
}else{
    echo 'wypelnij pola';
}
kamil1114
Chciałem samemu napisać skrypt logowania , który będę rozumiał. W książce miałem taki skrypt:

Kod
<?php
function checkPass($user,$pass)
{
if(!$fd=@fopen("hasla.txt","r")) return 1;
$result=2;
while(!feof ($fd)){
$line=trim(fgets($fd));
$arr=explode(":",$line);
if(count($arr)<2) continue;

if($arr[0] != $user) continue;

if($arr[1] == $pass){
$result = 0;
}
break;
}
fclose($fd);
return $result;
}
if(!isSet($_POST["haslo"]) || !isSet($_POST["user"])){
include('bad_login.html');
exit();
}
$val=checkPass($_POST["user"], $_POST["haslo"]);
switch($val){
                         case 0 : include('index1.php');break;
                         case 1 : include('error_server.html');break;
                         case 2 : include('bad_login.html');break;
                         default: include('error_server.html');
                         }



?>


ale niestety nie rozumiem go do końca.
webdice
Proszę o dodanie odpowiedniego bbcode, w innym wypadku temat zostanie zamknięty.
RubiX
Logowanie bezpieczne bo loginu ani hasła z pliku php raczej nikt nie wyciągnie chyba że plik będzie miał. Tylko po co Ci to skoro i tak po odświeżeniu strony będziesz musiał się logować ponownie. Poczytaj trochę o Sesjach np

  1. <?php
  2. // sprawdza czy użytkownik jest już zalogowany
  3. if ($_SESSION['zalogowany'] == TRUE) {
  4.  
  5. echo 'zawartość strony widoczna dla zalogowanych';
  6.  
  7. } else {
  8.  
  9. //formularz do logowania i skrypt sprawdzający
  10.  
  11. if(isset($_POST['wyslane']){
  12.    if($_POST['login']=='login' && $_POST['haslo']=='haslo'){
  13.       $_SESSION['zalogowany'] = TRUE; // zapisanie sesji
  14.        echo 'zalogowano';
  15.    }else{
  16.        echo 'zle dane';
  17.    }
  18. }else{
  19.    echo wypelnij pola;
  20. }
  21.  
  22. }
  23. ?>


A do wylogowania używasz unset lub destroy.
kamil1114
Ok , dziękuje. Już biorę książkę i szukam.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.