Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak wykryć że Requst AJAX pochodzi z naszej strony
karakara
post
Post #1





Grupa: Zarejestrowani
Postów: 71
Pomógł: 6
Dołączył: 22.09.2012

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


Jak wykryć że Requsst AJAX pochodzi z naszej strony?

Na stronie z automatu w pewnym momencie wysyłam dane w POST przez AJAX i aktualizuje bazę.
Na początku szło to przez GET i można było wklejić odpowiedni link akcji w przeglądarce i zmienić dane.
Teraz sprawdzam czy to AJAX poprzez HTTP_X_REQUESTED_WITH
Ale ciągle na swoim kompie można wysłać AJAXem dane do mojego serwera.
Gdzieś czytałem że można się zabezpieczyć przez HTTP_REFERER ale nie do końca bo nie wszystkie przeglądarki to ustawiją.

A chciałbym mieć pewność że request AJAXowy jest wykonywany na mojej stronie.

Pozdrawiam

Ten post edytował karakara 23.09.2012, 21:39:00
Go to the top of the page
+Quote Post
kyku
post
Post #2





Grupa: Zarejestrowani
Postów: 116
Pomógł: 8
Dołączył: 21.11.2008

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


Wątpię, że coś takiego da się prosto zrobić, ale możesz sprawdzić co zwróci
  1. <? print_r($_SERVER); ?>

Możesz wysyłać dodatkowy parametr (jakiś unikalny np. generowany i zapisywany gdzieś kod, który zmienia się co jakiś czas/jakąś akcje)
lub zmienić GET na POST i crossdomain zrobi swoje (przy ajaxie oczywiście)

albo:
  1. if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {


Ten post edytował kyku 23.09.2012, 22:48:17
Go to the top of the page
+Quote Post
karakara
post
Post #3





Grupa: Zarejestrowani
Postów: 71
Pomógł: 6
Dołączył: 22.09.2012

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


sprawdzanie po HTTP_X_REQUESTED_WITH już mam,

interesowałoby mnie właśnie coś z unikalnym tokonem ale przecież cały kod JS jest jawny (będzie wiadomo skąd jest token, lub jak go się generuje) nawet gdy zaciemnimy kod to FireBug pokaże akcje i token który został wysłany
Go to the top of the page
+Quote Post
sebekzosw
post
Post #4





Grupa: Zarejestrowani
Postów: 437
Pomógł: 42
Dołączył: 16.04.2007

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


generuj token w php, zapisuj w sesji i sprawdzaj czy jest przesłany. Oczywiście szyfruj go w md5()
Go to the top of the page
+Quote Post
karakara
post
Post #5





Grupa: Zarejestrowani
Postów: 71
Pomógł: 6
Dołączył: 22.09.2012

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


no coś takiego mi przeszło przez głowe
w sesji zapisuje sobie jakiś token i gdy przychodzi ajax request to sprwadzam czy w sesji jest ten token
ale nie mam pewności czy to na pewno zlikwiduje ten problem do końca


wybacz ale muszę, md5 to nie szyfrowanie
Go to the top of the page
+Quote Post
Crozin
post
Post #6





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


Google: CSRF
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: 23.08.2025 - 20:55