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
b4rt3kk
post
Post #2





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Jak ktoś otrzyma dostęp, to co za różnica jaka metoda została użyta do usuwania? POST czy GET? I tak ma dostęp do całej listy.

Może użyj Ajaxa? Wtedy kasowanie będzie się odbywało bez przekierowania na kolejną podstronę. Tak czy siak, jak ktoś się włamie, to nie sądzę by miało dla niego jakąś różnicę czy będzie leciał po liście, wpis po wpisie, czy będzie wklepywał ID w GET.

Natomiast jeśli chodzi Ci o to, że admini mają różny dostęp do zasobów to w pliku usuwającym, który otrzymuje dane za pomocą GET sprawdź najpierw czy dana osoba ma uprawnienia do usunięcia danego rekordu.
Go to the top of the page
+Quote Post
viking
post
Post #3





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
Dołączył: 30.08.2006

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


Cytat(b4rt3kk @ 17.09.2012, 21:38:16 ) *
Jak ktoś otrzyma dostęp, to co za różnica jaka metoda została użyta do usuwania? POST czy GET? I tak ma dostęp do całej listy.

A słyszał waść o takim sprytnym ataku co to jesteś zalogowany jako admin, odwiedzasz stronę i klikasz na spreparowany link http://x/delete.php?id=1 ? Dlatego właśnie zawsze takie dane usuwa się POSTem.

Cytat
Może użyj Ajaxa? Wtedy kasowanie będzie się odbywało bez przekierowania na kolejną podstronę. Tak czy siak, jak ktoś się włamie, to nie sądzę by miało dla niego jakąś różnicę czy będzie leciał po liście, wpis po wpisie, czy będzie wklepywał ID w GET.

Korzystając z XHR masz możliwość wstawiania dodatkowych nagłówków zabezpieczających. Teraz już ze względu na przeróżne nowinki w przeglądarkach mniej, ale kiedyś istniała polityka jednej domeny.
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: 7.10.2025 - 04:51