![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
Tak się zastanawiam nad zabezpieczeniem swoich aplikacji które w całości opierają się o ajax.
Budowane są przy użyciu PHP, to właśnie php nadaje odpowiednie zabezpieczenia sktyptów, filtruje dane przychodzące i tworzy sesje z useragentem, czesem trwania sesji itp. Podpinając do tego ajax, z pliku index.php wczytywany jest plik koment.php w którym sprawdzane jest przez php to co napisałem wyżej. Jednak ajax ma tą wadę iż można podpatrzeć do jakiego pliku dany skrypt się odwołuje i bezpośrednio odczytać plik koment.php w oknie przeglądarki, co umożliwi odczytanie danych, bez "otoczki" pliku index.php. Nie wygląda to zbyt dobrze, ale z drugiej strony jak ukryć dane, które chcemy pokazać? Czy jest jakaś możliwość wczytania przy pomocy ajax pliku koment.php do pliku index.php tak, aby nie było możliwości zobaczenia pliku koment.php w oknie przegladarki, aby był on tylko wyświetlany przy pomocy ajaxa w pliku index.php. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 450 Pomógł: 84 Dołączył: 27.11.2008 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Nie ma dla AJAX-a zabezpieczenia z prawdziwego zdarzenia. Na necie możesz znaleźć kilka rozwiązań najczęściej sprowadzających się do sesji, http_referer lub x_requested_with, które możesz łatwo podmienić Curl-em. W Kohana rozwiązali to tak :
tak jak mówiłem, nie jest to żadne zabezpieczenie. Na forum było już kilka takich tematów, poszukaj. Jedyne co Ci pozostaje to chyba napisanie autorskiego rozwiązania, wymyślenie jak najtrudniejszego algorytmu i zaciemnianie kodu od strony klienta. Na protokole HTTP nie zbudujesz bezpiecznego połączenia. Osobiście używam anty-floodingu, ustawiam maks. ilość żądań na dany okres czasu dla plików AJAX-owych, jeżeli klient nadmiernie korzysta z tych plików, blokuję mu dostęp. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 255 Pomógł: 16 Dołączył: 4.07.2007 Ostrzeżenie: (0%) ![]() ![]() |
jesli dobrze rozumiem twoj problem to dodaj na stronie w ktorej includujesz plik z komentami nastepujace rzeczy
$add_site = true; a potem w pliku do ktorego sie odwolujesz if(!$add_site) exit; proste i skuteczne (IMG:style_emoticons/default/biggrin.gif) |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 450 Pomógł: 84 Dołączył: 27.11.2008 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
@koderrr autorowi chodzi o zabezpieczenie wycieku danych z plików dla AJAX-a.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
sniffer32 Zaciemnianie kodu? Tzn? Firebugiem czy dragonfly i tak wszytko się wyciągnie. Jedyna różnica w pliku odczytanym bezpośrednio, a tym przez index.php to taka iż ten bezpośredni nie jest obudowany stylami itp. Po zainicjowaniu sesji np. po zalogowaniu i tak uzyska dostęp, właśnie tak się zastanawiam nad zliczaniem ilości wyświetleń, jeśli zostanie przekoroczony limit wyjdzie stosowny komunitakt np. z captcha.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 450 Pomógł: 84 Dołączył: 27.11.2008 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Przez zaciemnianie kodu miałem na myśli pisanie kodu w sposób nie zbyt przystępny dla potencjalnego "hakera". Nie chodzi tu o stosowanie nie mówiących nic nazw zmiennych czy zwiększania zawiłości składni itp, a najgorzej chyba kompresować kod i odpalać eval-em, wystarczy wtedy eval = alert; i kod podany jak na tacy. Mam na myśli stosowanie skomplikowanych algorytmów matematycznych trudnych do rozgryzienia dla kogoś z zewnątrz. Pomysł z captcha, nie jest zły. Następny pomysł to np: mierzenie odstępu czasu po stronie PHP np: od wejścia na stronę używająca AJAX-a do żądania do pliku AJAX-owego + sprawdzenie czy użytkownik odpalił w ogóle ten główny plik (IMG:style_emoticons/default/smile.gif)
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 4 298 Pomógł: 447 Dołączył: 16.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
sniffer32 "sprawdzenie czy użytkownik odpalił w ogóle ten główny plik" ha! niby prosty banał a na to nie wpadłem (IMG:style_emoticons/default/winksmiley.jpg) siła tkwi w prostocie jak to mówią... + za dodatkowy sposób (zawsze to o jeden więcej).
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 26.08.2025 - 00:09 |