Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [AJAX][PHP] Blokada Konsoli FireBug
Sk0rp10n
post 17.03.2014, 16:39:35
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 7.03.2012

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


Witam więc mam do was pewne pytanie trochę przeszukałem te forum i nigdzie nie mogłem nawet natknąć się na żaden temat z podobnym problemem czy coś więc pytam się was:

Czy moglibyście mi jakoś przedstawić w jaki sposób zablokować podgląd danych które są odbierane poprzez AJAX za pomocą plugina Firebug bądź innych narzędzi do przeglądarek zawierających konsole?? Kiedyś natknąłem się na takowe zabezpieczenie na jednej stronie gdzie zamiast danych zwrotnych jedyne co się wyświetlało to "<!-- Nie kradnij! --!>".

Z góry dziękuje za pomoc. wink.gif


Podkreślam nie chodzi mi o w pełni gotowy kod tylko o pomoc przy stworzeniu takowego zabezpieczenia. smile.gif
Go to the top of the page
+Quote Post
sowiq
post 17.03.2014, 17:23:57
Post #2





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

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


Nie ma takiej możliwości. Możesz utrudnić podgląd tych danych, ale nie ma możliwości całkowitego zablokowania.

Jak utrudnić?
- szyfrować przesyłane dane
- sprawdzać referer'a
- używać jednorazowych URL (dodawać jakiś jednorazowy, losowy klucz)
Go to the top of the page
+Quote Post
Sk0rp10n
post 17.03.2014, 17:35:57
Post #3





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 7.03.2012

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


Możesz dokładniej wytłumaczyć w jaki sposób miałoby działać sprawdzanie referera jeśli dane są i tak tylko pobierane przez moją stronę i z innych źródeł nie ma dostępu do wywołania tej funkcji?

Oraz jeśli możesz wytłumaczyć trochę bardziej z tymi jednorazowymi losowymi kluczami gdyż kiedyś próbowałem skorzystać z jakiegoś poradnika o tym lecz całość w tym wypadku jest wysyłana do pliku zawierającego funkcje pod ajaxa gdzie sesja nie jest obsługiwana. W tym wypadku wydaje mi się iż przykładowo "md5(time())" nie za bardzo zda się do takowego zabezpieczenia.
Go to the top of the page
+Quote Post
sowiq
post 17.03.2014, 18:47:09
Post #4





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

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


Sprawdzanie referera "zabezpieczy" tylko dla przypadków kiedy ktoś będzie chciał sobie wpisać adres Twojego AJAX'owego zasobu do paska adresu przeglądarki. W takim wypadku $_SERVER['HTTP_REFERER'] będzie puste i możesz wypluć magiczne "<!-- Nie kradnij! --!>" wink.gif

Losowe klucze są bardzo proste w działaniu. Robisz chociażby sha1(rand()) i zapisujesz to do bazy albo chociażby sesji. Przy requeście sprawdzasz czy klucze się zgadzają. Jeśli tak, to drukujesz tajne informacje i usuwasz klucz z bazy/sesji. Jeśli nie, to wiadomo - "<!-- Nie kradnij! --!>" wink.gif

Sposobów jest sporo. Ale tak jak napisałem wcześniej - to jest utrudnianie, a nie zabezpieczanie. Jeśli ktoś będzie na tyle ogarnięty, że będzie wiedział do czego służy Firebug, to na 99% obejdzie te utrudnienia.

[edit]
Jak dla mnie chyba najlepszym sposobem byłoby szyfrowanie danych po stronie serwera i rozszyfrowanie ich po stronie JavaScript. W Firebug co prawda będzie dało się podejrzeć odpowiedź serwera, ale żeby ją rozszyfrować trzeba będzie grzebać w JS. Do tego jakiś JS Uglify (żeby zaciemnić kod JS) i będzie git goatee.gif

Ten post edytował sowiq 17.03.2014, 18:47:25
Go to the top of the page
+Quote Post
Sk0rp10n
post 17.03.2014, 19:04:10
Post #5





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 7.03.2012

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


Dzięki za podpowiedź co do tokenu i zapewne z tego skorzystam. wink.gif Zabezpieczenie z Refererem mam niby dodane a FireFox wyłączone wysyłanie Referera a dane odbierać odbieram może po prostu mam jakiś błąd w kodzie który przeoczyłem. wink.gif


W takim razie jedyna odpowiedź czemu na jednej ze stron uzyskuje tą magiczną odpowiedź "<!-- Nie kradnij! --!>" jest spowodowana zablokowanym wysyłaniem Referera. wink.gif Także jeszcze raz dzięki i popatrzę czemu nie działa te zabezpieczenie u mnie. wink.gif

//Edit: Tak to był błąd u mnie w kodzie po ustawieniu "if(isset($_SERVER['HTTP_REFERER']) && !empty($_SERVER['HTTP_REFERER']))" zadziałało poprawnie przy wyłączonym Refererze. wink.gif Teraz zabieram się za tworzenie tokena. Jedynie mam nadzieje że zadziała poprawnie w przypadku gdy ktoś przypadkiem 2 razy kliknie na "zobacz". wink.gif

Ten post edytował Sk0rp10n 17.03.2014, 19:08:33
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.04.2024 - 04:26