Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> "Podpisane" linki
p!ter
post
Post #1





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 21.02.2006

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


Witam

Mam taki skrypt ktory pobiera dane osobowe z bazy i wypisuje je na ekran w postaci prostej tabeli.
Do kazdego wiersza dodalem link za pomoca ktorego mozliwe bedzie usuwanie danej osoby. Problem polega na tym ze nie wiem jak sprawdzac ktory link zostal nacisniety. Musze je jakos rozrozniac tylko nie wiem w jaki sposob.
  1. <?php
  2. $sql = "select idosoby , imie, nazwisko from osoby";
  3.  
  4. $zapy=mysql_query($sql);
  5.  
  6.  
  7. print "<table class=tabelaosob border=1>";
  8. print "<tr class=tabelanaglowki><td width=70%>Imie</td><td>Nazwisko</td><td>Usuń</td></tr>";
  9.  
  10. while ($wynik=mysql_fetch_row($zapy))
  11. {
  12.  
  13. print "<tr>
  14.  <td>".$wynik[1]."</td>
  15.  <td>".$wynik[2]."</td>
  16.  <td><a href=usun.php>X</a></td>  //wlasnie tutaj mam problem aby jakos przypisac idosoby do tego linka aby po klikn
    ieciu wiadomo bylo ktora osobe ma usunac.
  17.  </tr>";
  18.  
  19. }
  20.  print "</table>";
  21. ?>


Wiem ze moglbym zrobic to np. tak
  1. <?php
  2. <td><a href=usun.php?zmienna=$w[0]>X</a></td>
  3. ?>

a nastepnie w pliku usun.php pobrac id za pomoca REQUESTa ale to nie jest zbyt dobre i bezpieczne rozwiazanie.
Tak wiec czekam na wasze propozycje.

Za wszelka pomoc wielkie dzieki!

pozdrawiam
p!ter
Go to the top of the page
+Quote Post
LBO
post
Post #2





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

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


  1. <a href="usun.php?id=<?php print($wynik[1]); ?>">usuń</a>


Nastepnie w skrypcie usun.php pobierasz id osoby do usunięcia poprzez:

  1. <?php
  2. $_GET['id'];
  3. ?>


Umieszczasz to potem w odpowiednim zapytaniu SQL i 'voila.

P.S. Nie wiem czemu uważasz, że to nie jest bezpieczne? Najważniejsze, by osoby niepowołane, nie miały dostępu do tego skryptu. Musisz stworzyc strefę admina, która jednocześnie będzie sprawdzała uprawnienia uzytkownika, wtedy będzie cacy.

Okay, dobry uczynek spełniony, jeszcze tylko fajeczek i spać, trzymaj się i powodzenia.

LBO
Go to the top of the page
+Quote Post
p!ter
post
Post #3





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 21.02.2006

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


Dzieki za odpowiedz!
Robiac to twoim sposobem na pasku adresowym bedzie sie wyswietlalo to id a ja bym chcial zeby ono pozostalo ukryte.
Wiec chodzi mi o inny sposob na rozwizanie tego problemu. Nie jestem zwolennikiem uzywania requesta i geta bo wtedy na pasku adresowym mozna zmieniac id na jakie tylko sie chce.
Go to the top of the page
+Quote Post
Mystic007
post
Post #4





Grupa: Zarejestrowani
Postów: 106
Pomógł: 1
Dołączył: 22.04.2006
Skąd: Będzin

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


Możesz poczytac w internecie o ręcznym wysyłaniu danych metodą post, bo robienie dla każdego usera osobnego formularza to przesada. Ale co do GET to w sumie jest to najlepszy sposób bo jeśli pozwalasz komuś na jakiekolwiek ingerencjie do userów to tak czy tak usunie jakiegoś usera a to czy dane bedą przesyłane metodą GET lub POST to mało istotne. Pamiętaj, że można użyć intval by nie wpisano komend do zhakowania strony.

Ten post edytował Mystic007 2.09.2006, 20:56:53
Go to the top of the page
+Quote Post
LBO
post
Post #5





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

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


Cytat(p!ter @ 2.09.2006, 14:38:10 ) *
Dzieki za odpowiedz!
Robiac to twoim sposobem na pasku adresowym bedzie sie wyswietlalo to id a ja bym chcial zeby ono pozostalo ukryte.
Wiec chodzi mi o inny sposob na rozwizanie tego problemu. Nie jestem zwolennikiem uzywania requesta i geta bo wtedy na pasku adresowym mozna zmieniac id na jakie tylko sie chce.


Kolego, chyba napisałem: od tego jest strefa admina... bez czagos podobnego zawsze bedzie można w jakis sposób podmienic to id...
Go to the top of the page
+Quote Post
p!ter
post
Post #6





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 21.02.2006

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


Cytat(LBO @ 2.09.2006, 19:51:54 ) *
Kolego, chyba napisałem: od tego jest strefa admina... bez czagos podobnego zawsze bedzie można w jakis sposób podmienic to id...


Tak wiem!

Zrobilem twoim sposobem i sprawdzam czy dany zalogowany uzytkownik ma uprawnienia do usuwania innych uzytkownikow i dziala poprawnie.

Ale czy jest inny sposob na rozwiazanie tego problemu moze nie za pomoca linkow tak zeby nie trzeba bylo pokazywac tego id na pasku adresu??
Go to the top of the page
+Quote Post
LBO
post
Post #7





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

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


Nie zrozum mnie xle, ale robisz z igły widły w z tym bzpieczeństwem GETa. A skoro tak na siłę to zrób zwyczajnie formularz, nie linki. Submit, też może przybierać wartości, które potem odczytujesz w POST'cie.
Go to the top of the page
+Quote Post
Mystic007
post
Post #8





Grupa: Zarejestrowani
Postów: 106
Pomógł: 1
Dołączył: 22.04.2006
Skąd: Będzin

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


Nie wiem czy to czytałeś:
Cytat(Mystic007 @ 2.09.2006, 13:01:29 ) *
Możesz poczytac w internecie o ręcznym wysyłaniu danych metodą post, bo robienie dla każdego usera osobnego formularza to przesada. Ale co do GET to w sumie jest to najlepszy sposób bo jeśli pozwalasz komuś na jakiekolwiek ingerencjie do userów to tak czy tak usunie jakiegoś usera a to czy dane bedą przesyłane metodą GET lub POST to mało istotne. Pamiętaj, że można użyć intval by nie wpisano komend do zhakowania strony.

A co do forma to może pole hidden? Ale naprawde jak pisał LBO troche przesadzasz z tym bezpieczeństwem, bo:
Cytat(Mystic007 @ 2.09.2006, 13:01:29 ) *
jeśli pozwalasz komuś na jakiekolwiek ingerencjie do userów to tak czy tak usunie jakiegoś usera a to czy dane bedą przesyłane metodą GET lub POST to mało istotne.


Ten post edytował Mystic007 2.09.2006, 23:49:21
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 19.09.2025 - 17:49