Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][AJAX] zabezpieczenie RewriteRule
!*!
post
Post #1





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Dzięki RewriteRule odwołuję się ajaxem do plików php ze strony index.php ... Jak mógłbym zabezpieczyć wejście bezpośrednie z użyciem RR w adresie? Obecnie w pliku tym który prowadzi z RR sprawdzam czy adres się zgadza (index.php = stronaglowna w RR) Jednak czy istnieje inna możliwość?

  1. <?php
  2. $domena = $_SERVER['HTTP_REFERER'];
  3. if ($domena != 'http://domena/stronaglowna'){    echo'nie jest'; //przekierowanie }
  4. ?>


Po prostu chciałbym ograniczyć przeglądanie tych plików bezpośrednio, mają one być tylko dostępne z poziomu index.php/zalogowania.

Ten post edytował !*! 28.06.2009, 12:08:01


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
luniak
post
Post #2





Grupa: Zarejestrowani
Postów: 171
Pomógł: 36
Dołączył: 12.01.2008
Skąd: Puszcza Mariańska

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


możesz w oparciu o sessje sprawdzać czy zapytanie wysyła osoba zalogowana smile.gif


--------------------
Jeżeli ktoś na forum Ci pomógł, możesz mu podziękować klikając w opcje "Pomógł" pod jego postem!
--------------------

Go to the top of the page
+Quote Post
!*!
post
Post #3





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Nie mogę, sesje działają w obrębie przeglądarki, więc jeśli otworzę kolejną kartę w której dam bezpośredni adres to sesja i tak będzie działać.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
bełdzio
post
Post #4





Grupa: Zarejestrowani
Postów: 690
Pomógł: 81
Dołączył: 6.04.2005
Skąd: Szczecin

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


Cytat(!*! @ 28.06.2009, 13:06:56 ) *
Po prostu chciałbym ograniczyć przeglądanie tych plików bezpośrednio, mają one być tylko dostępne z poziomu index.php/zalogowania.

http://www.beldzio.com/bezpieczenstwo-dostepu-do-plikow - na dole opis smile.gif


--------------------
Go to the top of the page
+Quote Post
viking
post
Post #5





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


Większość frameworków JS wysyła nagłówek X-Requested-With . Sprawdzaj czy istnieje. na refererze nie możesz polegać.


--------------------
Go to the top of the page
+Quote Post
!*!
post
Post #6





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


bełdzio ok, tylko jednego nie rozumiem...

przykładowo zrobiłem katalog test ponad katalogiem public_html ... w nim umieściłem przykładowy plik do wczytania, przez plik który znajduje się w publicu ... podanie ścieżki na sztywno w include zadziała:

  1. <?php include '../test/plik.php'; ?>


ale jak to zapisać w RR?

Kod
RewriteRule ^(wczytaj)$ /../test/plik.php [L]


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
bełdzio
post
Post #7





Grupa: Zarejestrowani
Postów: 690
Pomógł: 81
Dołączył: 6.04.2005
Skąd: Szczecin

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


Cytat(viking @ 28.06.2009, 13:28:50 ) *
Większość frameworków JS wysyła nagłówek X-Requested-With . Sprawdzaj czy istnieje. na refererze nie możesz polegać.

a kto mi zabroni przesłań nagłówka "X-Requested-With" w zwykłym zapytaniu? smile.gif

Cytat(!*! @ 28.06.2009, 16:07:45 ) *
przykładowo zrobiłem katalog test ponad katalogiem public_html ... w nim umieściłem przykładowy plik do wczytania, przez plik który znajduje się w publicu ... podanie ścieżki na sztywno w include zadziała:

kieruj do pliku ktory znajduje sie w public_html i w nim go inkluduj dodając odpowiednie filtry, np generuj token, na podstawie ktorego bedziesz spr czy odwolanie do pliku nastapilo bezposrednio czy z wykorzystaniem pliku posredniego - na blogasku w notce o CSRF masz cos o generowaniu tokenow


--------------------
Go to the top of the page
+Quote Post
!*!
post
Post #8





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


a jak sprawdzić z jakiego pliku zostało to wykonane? Poza tym, w każdym "wczytywanym" pliku przez ajax jest sprawdzanie sesji, loginu, useragenta itp. coś jeszcze dodać, o to Ci chodziło?

Ten post edytował !*! 28.06.2009, 18:55:58


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
bełdzio
post
Post #9





Grupa: Zarejestrowani
Postów: 690
Pomógł: 81
Dołączył: 6.04.2005
Skąd: Szczecin

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


wchodzisz na strone A -> generowany jest i wsadzany do sesji token -> w kodzie strony A wywolujesz plik B przy pomocy ajaxa -> w pliku B spr czy przekazany GETem token jest taki sam jak w sesji -> jesli nie exit smile.gif


--------------------
Go to the top of the page
+Quote Post
viking
post
Post #10





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


Cytat(bełdzio @ 28.06.2009, 19:17:57 ) *
a kto mi zabroni przesłań nagłówka "X-Requested-With" w zwykłym zapytaniu? smile.gif

Bezpośrednio GETem w przeglądarce nie wyślesz nagłówka a o to autor pytał. Twoje zastosowanie bezpośrednio nic nie daje bo wystarczy że odwiedzę stronę i już mam wygenerowaną sesję co za tym idzie token. Aby to dobrze działało trzeba by połączyć kilka technik ekstra nagłówki, double cookie czy przesyłanie tylko POSTem.

Ten post edytował viking 29.06.2009, 06:03:59


--------------------
Go to the top of the page
+Quote Post
bełdzio
post
Post #11





Grupa: Zarejestrowani
Postów: 690
Pomógł: 81
Dołączył: 6.04.2005
Skąd: Szczecin

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


Cytat(viking @ 29.06.2009, 06:50:14 ) *
Bezpośrednio GETem w przeglądarce nie wyślesz nagłówka a o to autor pytał. Twoje zastosowanie bezpośrednio nic nie daje bo wystarczy że odwiedzę stronę i już mam wygenerowaną sesję co za tym idzie token. Aby to dobrze działało trzeba by połączyć kilka technik ekstra nagłówki, double cookie czy przesyłanie tylko POSTem.

a kto mi zabroni napisac skrypt w perlu ktory doda taki naglowek?

a co do tokena, to generujesz go przy kazdym odswiezeniu, czyli wazny jest tylko na 1 zapytanie


--------------------
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 Aktualny czas: 22.08.2025 - 01:56