Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Łączenie się ze skryptem AJAX z poziomu PHP
Forum PHP.pl > Forum > PHP
Michael2318
Jako, że na ajax'ie się nie znam, kiedyś pytałem tutaj jak rozpoznać czy z danym plikiem łączy się skrypt ajax czy też człowiek. Poradzono mi takie rozwiązanie:

  1. define('IS_AJAX', isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest');
  2.  
  3. if ( !IS_AJAX )
  4. {
  5. die('to czlowiek sie laczy!!!');
  6. }
  7. else
  8. {
  9. // skrypt ajax
  10. }


Pytałem też i nie tylko tutaj czy to jest bezpieczne, czy nikt się przez to nie przebije poza samym ajax'em i dostałem odpowiedzi, że nie, że to tylko ajax takie nagłówki wysyła. Dziś mi facet pokazuje, jak mój skrypt obejść w 30 sekund, wysyłając za pomocą curl'a powyższy nagłówek...
Więc zapytam jeszcze raz - czy jest jakiś sensowny sposób na zabezpieczenie skryptu tak, aby dany plik .php mógł odpalić TYLKO ajax?
CuteOne
Na szczęście nie ma takiego smile.gif
lukaskolista
Tylko po co utrudniac sobie zycie? Co za roznica czy to ajax czy nie ajax? Dam Ci rade: odpusc sobie takie pseudo zabezpieczenia i skup sie na tym, co na prawde wazne (SQL injection, XSS).
Michael2318
Cytat(lukaskolista @ 9.01.2013, 08:32:28 ) *
Tylko po co utrudniac sobie zycie? Co za roznica czy to ajax czy nie ajax? Dam Ci rade: odpusc sobie takie pseudo zabezpieczenia i skup sie na tym, co na prawde wazne (SQL injection, XSS).


Po odpaleniu tego pliku, wykonywane są zapytania do bazy danych i to nie byle jakie bo dotyczą rejestracji, więc co mi z tego, że zabezpiecze to od strony sql injection, jak każdy może wpisać na sztywno adres do strony, wrzucić fałszywy nagłówek i... wałek.
lukaskolista
Dalsze ciagniecie tego tematu nie ma sensu. Jezeli panicznie boisz sie, ze skrypt nie zostanie wywolany ajaxem to nie programuj webowo. Co z tego, ze rejestracja? Co za roznica, czy rejestracja nastapi ajaxowo czy nie? Rownie dobrze mozna wywolac skrypt przez file_get_contents i ustawic odpowiedni konetekst http i bedzie to wygladalo dokladnie tak samo, jak ajax.

Jak CuteOne napisa: nie ma mozliwosci 100% sprawdzenia, czy skrypt zostal wywolany ajaxem.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.