![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 110 Pomógł: 0 Dołączył: 13.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Posiadam skrypt php do którego poprzez AJAX'a wysyłam wartość metodą POST - $_POST['wartosc'] i taką też wartość odbieram, wykonuję zapytanie do bazy oraz zwracam odpowiedź. W jaki sposób mogę zabezpieczyć ten skrypt tak aby nikt bezpośrednio się do niego nie mógł odwołać. Generalnie chodzi mi o to by uniknąć jakiegoś ataku prosto na ten skrypt, np. od jednego użytkownika.
-------------------- Lubisz okazje i promocje? Wbij na HotShops.pl z mojego refa i pozwól zdobyć mi pkt. ;)
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
możesz sprawdzać ew. czy request jest wykonany przez ajax.
Możesz też generować tokeny i sprawdzać zgodność (technika z CSRF) |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 110 Pomógł: 0 Dołączył: 13.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
zastosowanie tokenów jest względnie bezpieczne tak?
-------------------- Lubisz okazje i promocje? Wbij na HotShops.pl z mojego refa i pozwól zdobyć mi pkt. ;)
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 915 Pomógł: 210 Dołączył: 8.09.2009 Skąd: Tomaszów Lubelski/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Co to znaczy "atak prosto na ten skrypt", bo chyba nie o CSRF Ci chodzi.
możesz sprawdzać ew. czy request jest wykonany przez ajax. Żadne zabezpieczenie.-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 110 Pomógł: 0 Dołączył: 13.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
mam skrypt np. ( baza.php ) który po wykryciu zmiennej $_POST['wartosc'] wykonuje zapytanie w bazie danych. W jaki sposób zablokować osobie która chciałaby mi zaszkodzić możliwość automatycznego odpytania bazy . By nie mógł wysłać z automatu jakimś programem danych POST co przełożyłoby się na dużą ilość zapytań w bazie, czy nawet przyblokowanie serwera
-------------------- Lubisz okazje i promocje? Wbij na HotShops.pl z mojego refa i pozwól zdobyć mi pkt. ;)
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 915 Pomógł: 210 Dołączył: 8.09.2009 Skąd: Tomaszów Lubelski/Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Może i żadne ale przynajmniej pierwsza linia oporu zdusi gimbazę ![]() Ale tutaj chyba jedyne sensowne jest zabespieczenie CSRF, CSRF nie służy do tego przecież. @adam1024: Jak się tak boisz o wydajność bazy danych to zaaplikuj jakiś mechanizm cache. Zresztą teraz też ktoś sobie może automat napisać, który po prostu będzie wchodził na Twoją stronę i też zapytania do bazy będą wykonywane (no chyba, że tam ich nie ma). -------------------- |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 110 Pomógł: 0 Dołączył: 13.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Zrobiłem mechanizm tokenów, i jak narazie komuś raczej ciężko będzie teraz zawiesić stronę za pomocą np. jMeter'a - a wczoraj mi sie to udało, przy ustawieniu 200 użytkowników w przeciągu 1 sekundy bez przerwy przy zapytaniu bezpośrednim. Dziś jeszcze zrobiłem odstęp między keyupem ( więc trzeba poczekać około 3 sekund na wynik zapytania ) - w przypadku gdy ktoś sobie napisze ten automat będzie musiał poczekać te 3 sekundy ( niby niewiele ale zawsze jakaś "przeszkoda", "blokada" dla ciągłego wysyłania zapytań.
@redeemer - jakąś ciekawą literaturę, artykuł nt. cache'owania możesz polecić? -------------------- Lubisz okazje i promocje? Wbij na HotShops.pl z mojego refa i pozwól zdobyć mi pkt. ;)
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 87 Pomógł: 3 Dołączył: 23.04.2013 Ostrzeżenie: (30%) ![]() ![]() |
zabezpieczenie tokenowe jeśli tak samo to rozumiem jak ty, pomaga tylko przy powtórnym wysłaniu forma, chyba jak na moją wiedzę tylko blokada ip po pewnej liczbie zapytań na dany czas by pomogła...
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 139 Pomógł: 24 Dołączył: 12.05.2013 Skąd: Hamburg Ostrzeżenie: (0%) ![]() ![]() |
Zrobiłem mechanizm tokenów, i jak narazie komuś raczej ciężko będzie teraz zawiesić stronę za pomocą np. jMeter'a - a wczoraj mi sie to udało, przy ustawieniu 200 użytkowników w przeciągu 1 sekundy bez przerwy przy zapytaniu bezpośrednim. Dziś jeszcze zrobiłem odstęp między keyupem ( więc trzeba poczekać około 3 sekund na wynik zapytania ) - w przypadku gdy ktoś sobie napisze ten automat będzie musiał poczekać te 3 sekundy ( niby niewiele ale zawsze jakaś "przeszkoda", "blokada" dla ciągłego wysyłania zapytań. @redeemer - jakąś ciekawą literaturę, artykuł nt. cache'owania możesz polecić? Jak już wspomniał @redeemer, CSRF nie służy do tego, co chcesz zrobić. Ty chcesz się zapespieczyć przez DOS a nie CSRF. Dwie kompletnie różne i nie związane ze sobą rzeczy. Poza tym niedoceniasz jMeter. Napisanie prostego BeanShell-a, który najpierw zaczyta token, a później go wyśle do Ciebie to kwestia może 10 minut. W niczym Ci nie pomoże takie zabezpieczenie przed DOS. Jeśli ktoś będzie chciał to zrobić to i tak to zrobi, bo tego się nie obsłużyć na poziomie kodu. Podsumowując - Nie możesz ufać niczemu, co pochodzi z przeglądarki, bo sfałszowanie tego jest prostsze, niż zabrać dziecku cukierek. Dodatkowo, nie martw się o DOS, bo nie masz strony, która jest odiwedzana przez miliony userów, i ktoś może chcieć Ci zaszkodzić. Jak już będziesz tak daleko, to będziesz miał środki na odpowiednie zabezpieczenie przed DOS. Jak to ktoś mądry kiedyś powiedział: "Don't think about performance issue. You don't have performance issues... yet". |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 87 Pomógł: 3 Dołączył: 23.04.2013 Ostrzeżenie: (30%) ![]() ![]() |
Po za tym tokeny w niczym nie uniemożliwiają odpytywania skryptu...
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 18:31 |