Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Metoda na usunięcie rekordu z bazy
kaczkazdw
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 11.09.2012

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


Witam!

Mam proglem nad którym już trochę główkuję i przeszukuje fora w poszukiwaniu satysfakcjonującej mnie odpowiedzi.

Mamy panel administratora np. i są wyświetlone artykuły na stronie w ładnej tabelce. Na końcu każdego wiersza są dostępne możliwe operacje na hiperłączach, edycja i usuwanie. Niech chodzi mi tutaj o samą edycję co o sposób usuwania. Na samym poczatku napisałem skrypt z wykorzystaniem GET który usuwał artykuł po kliknięciu usun w tym samym wierszu. Oczywiście zauważyłem informacje na pasku adresu z końcówką /delete.php?id=9. Postanowiem sprawdzić, czy wpisując inny numer id w adresie usunie mi inny link. Otóż tak się stało. Więc moje pierwsze pytanie brzmi, jak najlepiej się przed tym zabezpieczyć?

Widziałem też wykorzystanie checkboxów do usuwania wybranych rekordów, wtedy można by było zaznaczyć tylko jeden i z głowy. Wszystko fajnie, tylko wymagane jest, by checkbox znajdował się w formularzu? Będzie działało coś takiego, jeśli tabele obejmę w ramy <form ...> </form> i przy każdym wierszu znajdzie się checkbox?
Ktoś może mi podsunąć pomysł, jak ewentualnie poprawnie wykonać coś takiego? Jakoś trzeba podać dalej, który checkbox jest zaznaczony i przydzielony do danego artykulu.


A może macie jakiś lepszy sposób do usuwania rekordu, w przyjemny i pożyteczny sposób? (IMG:style_emoticons/default/wink.gif)

Pozdrawiam.

Ten post edytował kaczkazdw 17.09.2012, 19:26:17
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Tuminure
post
Post #2





Grupa: Zarejestrowani
Postów: 178
Pomógł: 49
Dołączył: 16.04.2012
Skąd: Bytom

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


POST jest tak samo bezpieczny, jak GET.
Przesłanie spreparowanego ciągu znaków POSTem wymaga zaledwie ciut większej wiedzy (w gruncie rzeczy trzeba tylko wiedzieć, że takie coś jest możliwe, a potem wpaść na pomysł jak lub po prostu wygoglować) i ciut większego wysiłku.

Nie rozumiem po co chcesz to zabezpieczyć. Jeżeli ktoś ma dostęp do panelu administracyjnego i może usunąć artykuł za pomocą POSTa/GETa, to równie dobrze może usunąć go z poziomu tabeli, którą wyświetlasz (i która usuwa przez POST/GET. Jeżeli ktoś nie ma dostępu do tabeli, to nie powinien mieć też dostępu do strony "/delete.php" (a co za tym idzie "/delete.php?id=1" nie zadziała lub wyświetli stronę logowania).

Cytat
A powiedzmy, gdybyśmy nie chcieli chronić się już przed nami samymi tylko przed innymi użytkownikami którzy także korzystają z portalu (bo taka była moja ogólna intencja)?
Jak najlepiej zabezpieczyć się przed hax0rami ;] którzy wszedzie wtykają swoje klawiaturki?

  1. if($user->role == 'admin')
  2. {
  3. if(isset($_POST['comment_id']))
  4. {
  5. echo 'usuwam komentarz ' . $_POST['comment_id'];
  6. }
  7. else
  8. {
  9. echo 'podaj id komentarza';
  10. }
  11. }
  12. else
  13. {
  14. echo 'nie masz dostepu';
  15. }

Można równie dobrze wykorzystać $_GET, jednak skłoniłbym się do tego, by GET służył do pobierania czegoś ze strony, a POST do wysyłania czegoś na stronę.

Ten post edytował Tuminure 18.09.2012, 07:33:34
Go to the top of the page
+Quote Post

Posty w temacie


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: 13.10.2025 - 18:58