Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> $_session, zabezpieczenie
pavlaq
post 28.03.2008, 10:35:40
Post #1





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 9.08.2007
Skąd: Kraków

Ostrzeżenie: (10%)
X----


Witam, dzis piszac skrypt natknalem sie na takie cos. Mm sobie o to ja link

  1. omnie.php?dane=edytuj&login=


po znaku = dodawany jest nick zalogowanej osoby dzieki $_SESSION['login'];

no i loguje sie na nick test, klikam sobie w edytuj dane wypelniam formularz jest gicik edytuje mi rekordy w bazie dla nicku "test"

a teraz zalozmy ze zamiast

  1. omnie.php?dane=edytuj&login=test

wpisze sobie

  1. omnie.php?dane=edytuj&login=demo


i co? wyskakuje mi formularz uzytkownika demo . To latwo zabezpieczylem jednym if'em

ale co to? klikam sobie w moje konto edytuj dane i.... okazuje sie ze przejalem sesje dla uzytkownika demo i jest zalogowany jako on a nie jako test. Jak zabezpieczyc takie cos?

o to skrypt mojego logowania

  1. <?php
  2.  
  3. require "config.php";
  4.  
  5. connection(); 
  6. include "header.php";
  7. if($_GET['logowanie']==formularz)
  8. {
  9. echo '<form action="loguj.php?logowanie=zaloguj" method="post">
  10. Podaj login <input type="text" name="login" /> <br><br>
  11. Podaj haslo <input type="password" name="haslo" /> <br><br>
  12. <input type="submit" value="Zaloguj" />
  13. </form>';
  14. }
  15. elseif ($_GET['logowanie']==zaloguj)
  16. {
  17.  
  18. $l=$_POST['login'];
  19. $h=$_POST['haslo'];
  20. $zapytanie="select login,haslo from uzytkownicy where login='$l' and haslo='$h'";
  21. $wynik=mysql_query($zapytanie);
  22. $wiersz=mysql_fetch_array($wynik);
  23. if($wiersz){
  24.  echo "<center>Autoryzacja ... <br /> <br /><img src=theme/loading.gif ></center>";
  25. $_SESSION['login']=$wiersz[0];
  26. $_SESSION['haslo']=$wiersz[1];
  27.  ?>
  28.  <script LANGUAGE="JavaScript" TYPE="text/javascript">
  29. setTimeout("window.location.replace('konto.php')", 3000);
  30.  </SCRIPT> 
  31.  
  32. <?
  33.  }
  34. else
  35. {
  36. echo "podales bledny login lub haslo <br>";
  37.  ?>
  38.  <script LANGUAGE="JavaScript" TYPE="text/javascript">
  39. setTimeout("window.location.replace('loguj.php?logowanie=formularz')", 3000);
  40.  </SCRIPT> 
  41.  
  42. <?
  43. }
  44. }
  45. include "footer.php";
  46. ?>


i strona z formularzem

  1. <?php
  2. require "config.php";
  3. connection(); 
  4. include "header.php";
  5.  
  6. if(isset($_GET['dane']) && $_GET['dane']=='edytuj' && isset($_GET['login']))
  7. {
  8. $log=$_SESSION['login'];
  9. $login=$_GET['login'];
  10. if($log == $login)
  11. {
  12. //tutaj formularz
  13. }
  14. else
  15. {
  16. echo 'Brak dostepu';
  17. }
  18. }
  19. ?>


z php zaczalem niedawno zabawe wiec moze zle rozumuje dlatego rposze was o pomoc smile.gif

Ten post edytował pavlaq 28.03.2008, 10:37:31
Go to the top of the page
+Quote Post
potreb
post 28.03.2008, 14:53:04
Post #2





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Wysyłaj dane przez POST z formularza, stosuj if isset.
Przekierowanie robisz przez js a można przez php:
  1. <?php
  2. header("Refresh: 3; url=index.php");
  3. ?>


W sesji zapisuje jedynie np zakodowane hasło po co login. Porównujesz hasło z sesji z bazy. Stosuj addslashes przy logoowaniu.

Ten post edytował potreb 28.03.2008, 15:20:29


--------------------

Go to the top of the page
+Quote Post
pavlaq
post 29.03.2008, 16:47:04
Post #3





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 9.08.2007
Skąd: Kraków

Ostrzeżenie: (10%)
X----


w sesji przechowywalem sobie login po to aby go sobie porownywac w formularzach itp myslalem ze to bedzie jakies swego rodzaju zabezpieczenie....
Go to the top of the page
+Quote Post
wlamywacz
post 29.03.2008, 19:00:26
Post #4





Grupa: Zarejestrowani
Postów: 535
Pomógł: 27
Dołączył: 3.05.2005

Ostrzeżenie: (20%)
X----


Pytanie: Jakim cudem dane z GET przeszły do SESSION ?
Go to the top of the page
+Quote Post
pavlaq
post 29.03.2008, 22:05:58
Post #5





Grupa: Zarejestrowani
Postów: 46
Pomógł: 0
Dołączył: 9.08.2007
Skąd: Kraków

Ostrzeżenie: (10%)
X----


wlasnie caly czas o to mi sie rozchodzi biggrin.gif nie mam pojecia jak to sie stalo gdzie zrobilem blad i czy wogole go zrobilem no i wlasnie jakim cudem ta sesja sie zwalila
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: 8.07.2025 - 19:07