Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [logowanie] txt + sesje. Gdzie tkwi błąd??
xmp3
post 29.03.2004, 09:48:59
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 11.07.2003
Skąd: Paradise

Ostrzeżenie: (0%)
-----


Robie skrypt logowania oparty na sesjach i txt
oto pliki

users.n - plik z userami dałem tam przypadkowych userów

Kod
Xmp3|+|pass|+|16|+|1

Aidy|+|password|+|13|+|2

Paluch|+|pa|+|12|+|3

Maxi|+|max|+|11|+|4


wygląda on tak

pierwszy człon to nazwa usera
drugi to hasło
trzeci to wiek
czwarty to level
ale narazie potrzebuje tylko pierwszych dwóch

mam pliki
admin.php, - panel administarycjny

index.php, - wyswietlanie wszsytkich userów oraz ich danych -- to działa !! chyba jako jedyne biggrin.gif

panel.php - formularz do panelu admina

teraz kody

panel.php
[php:1:1e751e3552]
<?
session_start();
$SID=session_id();
$login=$_POST['login'];
$haslo=$_POST['haslo'];
if(isset($login) && isset($haslo))
{
session_register($haslo);
session_register($login);
}

echo('<center><p align="center"><font face="Verdana" size="2"><b>Statystki odwołań </b><br>');

echo("<form method='POST' action='admin.php?=$SID'>");
echo('
<p>
Login
<input type="text" name="login" size="20"></p>
<p>
Hasło<input type="haslo" name="haslo" size="20"></p>
<p>
<input type="submit" value="Dalej.." name="B1"></p>
</form></center>');
?>
[/php:1:1e751e3552]
admin.php
[php:1:1e751e3552]<?
session_start();
// czesc konfiguracji
$usr=file("users.n");
$ile_usr=count($usr);
$dobry_pass=$_SESSION['haslo'];
$dobry_login=$_SESSION['login'];
echo("$dobry_pass = $dobry_login");
// czesc kodu wykonującego

for($i=0 ; $i<$ile_usr ; $i++)
{
$user=explode("|+|", $usr[$i]);

$login[$c]=$user[0];
$pass[$i]=$user[1];
$wiek[$i]=$user[2];
$poziom[$i]=$user[3];
$war=1;
if( $user[0]==$dobry_login)
{
}
else
{
continue;
}
}



if(isset($war))
{

session_register($password);
session_register($log);

$alt_pass=$_SESSION['password'];
$alt_log=$_SESSION['log'];

//czesc panelu administaryjnego
echo("Witaj <b> </b><br>");
echo('TUTAJ JEST PANEL ADMINISTARYCJNY');
echo('<a href="wyloguj.php?=SID">wyloguj</a>');
}

else
{
echo("brak wstępu<br> $login[$i] <br>$log<br>inny:");
}
?>[/php:1:1e751e3552]
index.php
[php:1:1e751e3552]
<?
$usr=file("users.n");
$ile_usr=count($usr);

for($i=0 ; $i<$ile_usr ; $i++)
{
$user=explode("|+|", $usr[$i]);
$login[$i]=$user[0];
$pass[$i]=$user[1];
$wiek[$i]=$user[2];
$poziom[$i]=$user[3];

echo("login: <b>$login[$i]</b> Haslo:<b>$pass[$i]</b> Wiek:<b> $wiek[$i]</b> Poziom: <b>$poziom[$i]</b> <br>");
}
?>

[/php:1:1e751e3552]

gdzie robie bład questionmark.gif? próbowałem już tylu sposobów i wszystko na nic. Zostawiam początkowy. Wszelkie sugestie mile widzane !!


--------------------
GG:1012210 |TLEN ID:|pularys1 |WWW:http://muzyka.net.pl|mail:xmp3@muzyka.net.pl
If you wanna have the sister put your mother on a twister. If you wanna have the brother put your father on your mother :)
Go to the top of the page
+Quote Post
djpeterek
post 29.03.2004, 09:53:02
Post #2





Grupa: Zarejestrowani
Postów: 101
Pomógł: 0
Dołączył: 10.10.2003

Ostrzeżenie: (0%)
-----


do kodu php stosuj bbcode jesli dajesz post z kodem na forum smile.gif popraw to a co do hasla polecam technike md5 wtedy haslo masz zaszyfrowane i masz pewnosc wieksza ze ci go nie wyciagna z pliku txt


--------------------
Warsztat: Apache: 1.3.29 | MySQL: 3.23.58 | PHP: 4.3.4 | phpMyAdmin: 2.5.4
Narzędzia: Notatnik 0.1 - Photoshop 7.0
Go to the top of the page
+Quote Post
Luke
post 29.03.2004, 09:55:29
Post #3





Grupa: Przyjaciele php.pl
Postów: 215
Pomógł: 0
Dołączył: 28.10.2003
Skąd: -

Ostrzeżenie: (0%)
-----


zamien

[php:1:6287a50086]<?php
session_register($haslo);
session_register($login);

?>[/php:1:6287a50086]

na

[php:1:6287a50086]<?php
session_register('haslo');
session_register('login');

?>[/php:1:6287a50086]

lub

[php:1:6287a50086]<?php
$_SESSION['haslo'] = $haslo;
$_SESSION['login'] = $login;


?>[/php:1:6287a50086]


--------------------
<span style="font-weight: bold;">Open Source Enterprise Content Management</span>
Go to the top of the page
+Quote Post
scanner
post 29.03.2004, 10:03:56
Post #4





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Zamykam do czasu poprawienia BBCode


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
xmp3
post 29.03.2004, 11:28:17
Post #5





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 11.07.2003
Skąd: Paradise

Ostrzeżenie: (0%)
-----


juz wszystko OK
Prosże od dalsze rady


--------------------
GG:1012210 |TLEN ID:|pularys1 |WWW:http://muzyka.net.pl|mail:xmp3@muzyka.net.pl
If you wanna have the sister put your mother on a twister. If you wanna have the brother put your father on your mother :)
Go to the top of the page
+Quote Post
xmp3
post 29.03.2004, 14:34:22
Post #6





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 11.07.2003
Skąd: Paradise

Ostrzeżenie: (0%)
-----


nie mówicie że nikt nie wie bo nie uwierzę


--------------------
GG:1012210 |TLEN ID:|pularys1 |WWW:http://muzyka.net.pl|mail:xmp3@muzyka.net.pl
If you wanna have the sister put your mother on a twister. If you wanna have the brother put your father on your mother :)
Go to the top of the page
+Quote Post
kszychu
post 29.03.2004, 14:38:37
Post #7





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

Ostrzeżenie: (0%)
-----


A może napiszesz chociaż jaki masz problem?


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post
xmp3
post 29.03.2004, 15:51:46
Post #8





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 11.07.2003
Skąd: Paradise

Ostrzeżenie: (0%)
-----


przecież napisałem czytaj 1 post. Nie wiem jak przesłać dane z panel.php do admin.php sesją, jeśli to robie dobrze to chce tylko żeby mi ten panel zadziałał więc gdzieś po drodze robię bład, ale własne błędy się cięzko wychwytuje dlatego dałem na forum


--------------------
GG:1012210 |TLEN ID:|pularys1 |WWW:http://muzyka.net.pl|mail:xmp3@muzyka.net.pl
If you wanna have the sister put your mother on a twister. If you wanna have the brother put your father on your mother :)
Go to the top of the page
+Quote Post
splatch
post 29.03.2004, 16:24:44
Post #9





Grupa: Zarejestrowani
Postów: 487
Pomógł: 7
Dołączył: 7.01.2004
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Formularz rejestracji:
[php:1:8a8eeb9072]<?php

if( !empty( $_POST['haslo'] ) && !empty( $_POST['login'] ) )
{
if( file_exists( 'users/'. $_POST['login'] ) )
{
echo 'Uzytkownik '. $_POST['login'] .' juz istnieje';
}
else
{
if( strlen( $_POST['login'] ) < 4 )
{
echo "Twoj login jest za krotki";
rejestracja();
}
else
{
if( strlen( $_POST['haslo'] ) < 4 )
{
echo "Twoje haslo jest za krotkie!";
rejestracja();
}
else
{
$fp = fopen( 'users/'. $_POST['login'], 'w' );
fwrite( $fp, 'u;'. md5( $_POST['haslo'] ) );
fclose( $fp );
echo 'Zostales zarejestrowany';
}
}
}
}
else
{
rejestracja();
}

function rejestracja()
{
echo "<form method='POST' action='rejestracja.php'>";
echo "Login <input type='text' name='login'><br>";
echo "Haslo <input type='text' name='haslo'>";
echo "<input type='submit' value='ok'></form>";
}


?>[/php:1:8a8eeb9072]
Logowanie (formularz, ogólnie przykładowa strona)
[php:1:8a8eeb9072]<?php

ini_set( 'session.use_cookies', 1 );
session_set_cookie_params( 3600 );

session_start( );

if( !isset( $_SESSION['user'] ) )
{
formularz();
define( 'STATUS', 'g' );
}
else
{
echo "Witaj ". $_SESSION['user'] .'<br>';
echo '<a href="login.php?def=logout">Wyloguj mnie</a>';
define( 'STATUS', $_SESSION['status'] );
}

function formularz()
{
echo "<form method='POST' action='login.php'>";
echo "Login<input type='text' name='login'><br>";
echo "Haslo<input type='password' name='haslo'>";
echo "<input type='hidden' name='from' value='". $_SERVER['PHP_SELF'] ."'>";
echo "<input type='submit' value='ok'></form>";
}

?>[/php:1:8a8eeb9072]

Plik odpowiedzalny za logowanie itp.
[php:1:8a8eeb9072]<?php

ini_set( 'session.use_cookies', 1 );
session_set_cookie_params( 3600 );

session_start( );

if( !empty( $_POST['login'] ) && $_POST['haslo'] )
{
if( $dane = @file( 'users/'. $_POST['login'] ) )
{
$dane = explode(';', $dane[0] ); // $dane[0] = "status"; $dane[1] = "haslo"
if( md5( $_POST['haslo'] ) == $dane[1] )
{
$_SESSION['user'] = $_POST['login'];
$_SESSION['status'] = $dane[0];
header( 'Location: '. $_POST['from'] );
}
else
{
echo 'Podales zle haslo';
}
}
else
{
echo 'Nieznany uzytkownik';
}
}
elseif( $_GET['def'] == 'logout' )
{
session_destroy( );
header( 'Location: '. $_SERVER['HTTP_REFERER'] );
}
else
{
header( 'Location: '. $_SERVER['HTTP_REFERER'] );
}


?>[/php:1:8a8eeb9072]
Wystarczy, że stworzysz katalog users i nadasz mu odpowiednie prawa. Przykladowy plik uzytkownika:
Kod
u;40ba6f89a60388a30d77f9ca07133fb8

Gdzie u to status, rownie dobrze moze byc a, a ciag po średniku to hasło w postaci md5.
Go to the top of the page
+Quote Post
xmp3
post 29.03.2004, 19:12:39
Post #10





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 11.07.2003
Skąd: Paradise

Ostrzeżenie: (0%)
-----


dzięki ale ja nie chciałem gotowego skryptu smile.gif tylko poprawy mojego bo tylko w taki sposób się czegoś naucze


--------------------
GG:1012210 |TLEN ID:|pularys1 |WWW:http://muzyka.net.pl|mail:xmp3@muzyka.net.pl
If you wanna have the sister put your mother on a twister. If you wanna have the brother put your father on your mother :)
Go to the top of the page
+Quote Post
splatch
post 31.03.2004, 12:21:39
Post #11





Grupa: Zarejestrowani
Postów: 487
Pomógł: 7
Dołączył: 7.01.2004
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Miałem go pod ręką więc dałem ci do analizy, a nie jako gotowca smile.gif.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 16.07.2025 - 06:25