Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][AJAX] mintajax i przesylanie/odbieranie danych
Forum PHP.pl > Forum > Przedszkole
!*!
Tak się zastanawiam... Ogólnie obsługa mintajaxa działa na takiej zasadzie że klikając na link wyświetlam zawartość jakiegoś pliku w divie, przeglądając źródło strony, nie widać tej zawartości... Czy jest możliwość podejrzenia źródła tego pliku który został wczytany przez minta? Zastanawia mnie czy jest to jakieś zabezpieczenie i czy można to jakoś obejść?
singles
Żadne zabezpieczenie. Po prostu po wywołaniu żądania AJAX modyfikowane jest drzewo DOM, już w przeglądarce. Kod źródłowy pozostaje bez zmian. Żeby podglądać "w locie" drzewo DOM, użyj Firebuga (Firefox) albo Dragonfly (Opera). IE8 też na coś co nazywa się "Narzędzai dewelopera". Ale z wymienionych Firefox zdecydowanie najlepszy.
!*!
ok. A czy jeśli pliki wykonywalne umieszczę poza katalogiem public_html i w odwołaniu ajaxa będą miały np. taki adres

Kod
../katalog_ponad_public_html/formularz.php


To czy taka jawna forma ścieżki do pliku jest bezpieczna? W końcu chyba nie można tego wywołać z przeglądarki? A za pomocą crona, bądź innych?
singles
Ani przeglądarka ani AJAX nie wykona takiego żądania które pokazujesz. Konfiguracja serwera wskazuje że katalogiem bazowym jest Twoje public_html w tym wypadku. Z poziomu adresu URL bezpośrednio do plików poza tym katalogiem się nie dostaniesz.

Wszystko co działa po stronie serwera jest w stanie odpalić taki plik (jeśli oczywiście ma takie prawa). Np. skrypt PHP jest w stanie zaincludować pliki będące poza katalogiem bazowym WWW. Umieszczanie plików i bibliotek poza katalogiem WWW to bardzo rozpowszechniona i często stosowania technika, we frameworkach czy innych aplikacjach. Podsumowując, cron działa po stronie serwera i może mieć dostęp do takiego pliku.
!*!
Ogólnie interesuje mnie bezpieczeństwo budowania aplikacji php/ajax, na necie jest niestety mało materiałów na ten temat.

Wygląda to mniej więcej tak:

pliki index.php są w public_html, dostępny dla użytkownika, np. w pliku index.php ajax odwołuje się właśnie do pliku z poza public_html.

Chodziło mi o curl ... Wybacz, mój bład. Tak czy inaczej, jeśli z innego serwera odpalę curlem index.php, zczytam adres do pliku wykonywalnego z poza public_html to i tak może być to jakieś niebezpieczeństwo? Czy curlem można odowałać się do pliku z poza katalogu public_html? Bo przez przeglądarkę nie można uzyskać do nich dostępu...
singles
Niby jak odczytasz adres pliku wykonywalnego z pliku index.php? PHP jest językiem skryptowym, do klienta wysyłany jest tylko wynik, a nie cały kod źródłowy.

CURL robi praktycznie to samo co przeglądarka. Nie dostaniesz się z zewnątrz ani przeglądarką, ani AJAXem, ani CURLem, ani HTTP_Request z PEAR - niczym co wysyła żądania HTTP do plików poza katalogiem WWW. Zakładając, że masz dobrze napisane skrypty - na temat bezpieczeństwa aplikacji internetowych poczytaj tutaj: Bezpieczeństwo aplikacji internetowych

Odnośnie tematu "bezpieczeństwo aplikacji AJAX", jest kilka książek, wystarczy dobrze poszukać w księgarniach, na Allegro albo w dziale giełda.
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.