Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Login, problem z pamiecią przegladarki..., Moim głownym celem jest stworzenie loginu bezpiecznego na zasadzie...
Torriel
post 21.10.2007, 02:16:15
Post #1





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 29.01.2007
Skąd: Zduńska Wola

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


Moim głownym celem jest stworzenie loginu bezpiecznego na zasadzie logowania na allegro(nie twierdze ze chce tego samego... chodzi o jeden szczegół).Tzn kiedy sie wyloguje i dam wstecz to - nie bede znow zalogowany... Chce poprostu zniszczyc ten cholerny cache przegladarki zeby juz nigdy nie zapamietywala danych... u nikogo.

Moj system logowania opiera sie na MySQL i na sesjach (nie wiem czy to dobrze). O co mi dokładnie chodzi: problem polega na tym ze przegladarka (sprawdzalem na FF i IE) zawsze pamieta to co wczesniej wpisalem w formularz Name i Password. Najbardziej boli mnie to że kiedy wyloguje sie danym uzytkownikiem i klikne kilka razy 'wstecz', spowrotem jestem zalogowany.

Nawet sam jak na moje tępe zdolnosci doszedlem do takiego kodu ze na kazdej stronie daje:

Jakis plik.php

<?php

session_start();
session_register('zalogowanie');

$sql = mysql_connect('xxx', 'xxx', 'xxx');
mysql_select_db('xxxxx');

$result = mysql_query("SELECT name,password,login FROM ble WHERE name = '$zalogowanie'");
$row = mysql_fetch_row($result);

if ( $row[2] == 'in') { echo("strona dziala - jestes zalogowany"); }
elseif ( $row[2] == 'out') { header(location: logowanie.php) }

?>


i najsmieszniejsze ze to pieknie sie sprawdza i dziala... ale to na nic kiedy koles zacznie klepać wstecz az do tego tych dwoch plikow gdzie zastosowanie tego wyzej upada w gruzach...

logowanie.php

<form name=all action="http://www.kochamMalwine.pl/login2.php" method=post>

Name: <br><input type=text name=name size=20 MAXLENGTH=15><br><br>
Password: <br><input type=password name=pass size=20 MAXLENGTH=15><br><br>

<input type=submit value=Login>


login2.php



$sql = mysql_connect('xxx', 'xxx', 'xxx');
mysql_select_db('xxxxx');

$result = mysql_query("SELECT name,password,login FROM ble WHERE name = '$zalogowanie'");
$row = mysql_fetch_row($result);

if ( $row[1] == $_POST['password'] ) {

$zalogowanie = $_POST['name'];

echo("LOGIN <FONT COLOR=WHITE>".$zalogowanie."</FONT>");

$zapyt_c = mysql_query("UPDATE ble SET login='in' WHERE name = '$zalogowanie' ");
$row_c = mysql_query($zapyt_c);




i wielki problem bo nie moge dac w pliku login2.php na poczatku zapytania "jesli w tabeli pisze ze ni jest zalogowany to przekieruj do logowanie.php poniewaz to jest moment kiedy dokonuje sie zmiana z niezalogowanego na zalogowanego"

pomorzcie mi to rozwiazac... - jestem samoukiem nie lubie gdy ktos mi probuje narzucic - najwieksza przyjemnosc sprawia to gdy sam doczegos dojde... uwielbiam to nie lubie pisac na forum bo jestem zawsze pojechany za to jakich banałow nie widze - wiec przepraszam tych ktorzy poczuli sie obrazeni... tym ze wogole tu pisze... - i pisze zawsze w ostatecznosci jak juz sie poddaje...

Żeby nie było szukałem odpowiedzi ile sie da... jest po trzeciej i po dwoch piwach i nie mam juz sil dlatego zwracam sie do was...
Go to the top of the page
+Quote Post
bogdan89
post 21.10.2007, 08:58:41
Post #2





Grupa: Zarejestrowani
Postów: 320
Pomógł: 36
Dołączył: 28.08.2006
Skąd: Wrocław

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


może spróbuj tak:
  1. <?php
  2. header ("Pragma: no-cache");
  3. ?>


a przy wylogowywaniu:
  1. <?php
  2. ?>
Go to the top of the page
+Quote Post
Torriel
post 4.11.2007, 23:29:43
Post #3





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 29.01.2007
Skąd: Zduńska Wola

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


hmm wiesz co... daje w kazdym pliku na samym poczatku takie cos(kazdy plik zaczyna sie od tego):

<?php
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");


w pliku logout mam tak:

session_register('zalogowanie');
$zalogowanie = '';
session_unregister('zalogowanie');
session_destroy...


:^( walczylem z tym na wiele sposobow - siedzialem ile sie dalo ... rece mi opadaja bo to pewnie banalne i bede se pluł jak zwykle z reszta w brode przez tydzien...

moze to zalezy od ustawień servera i tego jak jest skonfigurowany apache... :^( a do tego niestety nie mam dostepu :^/

Ten post edytował Torriel 6.11.2007, 21:26:32
Go to the top of the page
+Quote Post
-youviula-
post 21.11.2008, 09:21:56
Post #4





Goście







Witam

Ja również mam pytanie do sesji. Praktycznie z php mam styczność od 2 dni wiec laicyzm totalny. Mam mały problem.
Stworzyłem mechanizm sesji przy logowaniu oparty na SQL. mechanizm działa tak

Ze strony A uruchamiam linka który kieruje mnie do strony B na której jest forma z logowaniem

Kod strony B:(index.php)
<?
if(!session_is_registered(myusername)){
header("location:/index.php");
}
else
{
header("location:/wzk.php");
}
?>

<DIV ALIGN=CENTER> <img src="26050.jpeg"><br> </DIV>
<table width="300" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<form name="form1" method="post" action="checklogin.php">
<td>
<table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
<tr>
</tr>
<tr>

<td width="78">Username</td>
<td width="6">:</td>
<td width="294"><input name="myusername" type="text" id="myusername"></td>
</tr>
<tr>
<td>Password</td>
<td>:</td>
<td><input name="mypassword" type=password id="mypassword"></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td><input type="submit" name="Submit" value="Login"></td>
</tr>
</table>
</td>
</form>
</tr>
</table>

i niestety dostaje komunikat:

"Pętla przekierowań
Firefox wykrył, że serwer przekierowuje żądanie tego zasobu w sposób uniemożliwiający jego ukończenie.
Przeglądarka przerwała próby pobrania żądanego elementu. Witryna przekierowuje żądanie w sposób, który uniemożliwia jego dokończenie."

Jeśli wyrzucę sekcję PHP
<?
if(!session_is_registered(myusername)){
header("location:index.php");
}
else
{
header("location:wzk.php");
}
?>

Strona uruchamia się prawidłowo.
A chcę stworzyć taki mechanizm który podczas przekierowania będzie sprawdzał czy jestem już zalogowany i czy sesja jest rozpoczęta, jeśli tak przejdzie dalej, jeśli nie uruchomi stronę logowania.

Dzięki z góry za wszelkie sugestie.
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: 14.08.2025 - 00:36