Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: .htaccess - zabezpieczenie plików przed odczytem za pośrednictwem URLa
Forum PHP.pl > Forum > Serwery WWW
ska
Witam,

Mam taki oto problem:
Na stronie jest flash, który pobiera sobie plik xml. Chciałbym zabezpieczyć przed podglądaniem pliku xml przez url (mojastrona.pl/config.xml)

Niestety zabezpieczając na bardzo rózne sposoby za pomocą htaccess udaje się oczywiście zablokować dostęp przez URL, ale niestety flash także nie może pobrać tego pliku.

Przykład wpisu .htaccess, na którym działa zabezpieczenie URL, ale "wysypuje" się flash (też nie uzyskuje dostępu do tego pliku).
  1. :Location /config/config.xml
  2. Redirect notfound


czy ma ktoś może jakiś pomysł na taką sytuację?

Z góry dziękuję, pozdrawiam.
debian
Może dostęp (chmod) żeby wykonywał i odczytywał tylko przez właściciela chmod 700 lub 500
webdice
Spróbuj w katalogu config wkleić plik .htaccess:

Kod
Deny from all
ska
Dziękuję za odpowiedzi.

Cytat(webdice @ 26.11.2008, 16:48:13 ) *
Spróbuj w katalogu config wkleić plik .htaccess:

Kod
Deny from all

To była pierwsza próba - niestety. Flash zaczyna czytać katalog po załadawaniu strony, więc Apache go nie puści.

Cytat(debian @ 26.11.2008, 15:38:12 ) *
Może dostęp (chmod) żeby wykonywał i odczytywał tylko przez właściciela chmod 700 lub 500

Też próbowałem, nic nie dało.
erix
Cytat
czy ma ktoś może jakiś pomysł na taką sytuację?

Zablokuj odwołania bezpośrednie, a z flasha odczytuj przez mod_rewrite zamieniając jakiś losowy ciąg znaków na dane do flaszki. winksmiley.jpg

Ale pomysł raczej marny; przeglądarka będzie musiała wczytać dane i tak.
sowiq
Cytat(erix @ 26.11.2008, 23:20:50 ) *
Ale pomysł raczej marny; przeglądarka będzie musiała wczytać dane i tak.

Pomysł tak samo dobry, jak próba zabezpieczenia obrazków przed skopiowaniem.

Zamierzasz w tym XML trzymać hasła jakieś? Przecież flash wykonuje się w przeglądarce, więc dopiero po odpaleniu w niej robi requesty pod jakiś adres, czyli żądany plik musi być dostępny do odczytu. Nie wiem jakie zabezpieczenia byś zrobił - plik i tak musi zostać ściągnięty. Będzie dostępny później chociażby w cache przeglądarki.

Nie tędy droga.
ska
Tak, wiem, że request idzie po zwróceniu contentu do przegladarki (nawet to wyżej napisałem), więc w zasadzie się trochę łudziłem, że zna ktoś jakiś trick :-] ... plik konfiguracyjny wskoczy sobie do flasha prawdopodobnie (choć to i tak nie rozwiązanie, bo można go pobrać z cache i rozkompilować, ale trudno - haseł tam nie ma żdanych) ... natomiast może za pomocą PHP uda mi się zwracać do przegladarki obiekt flasha, np przy wywołaniu pliku flash.php, a .htaccessem zablokuje wywoływanie flasha za pomocą url'a.

Edit:
No i się udało :-)
Dzięki za odpowiedzi.
sowiq
Cytat(ska @ 27.11.2008, 08:22:21 ) *
może za pomocą PHP uda mi się zwracać do przegladarki obiekt flasha, np przy wywołaniu pliku flash.php, a .htaccessem zablokuje wywoływanie flasha za pomocą url'a.

A czy flasha ściągniętego pod nazwą flash.php nie da się 'rozkompilować'? Plik ściągasz ten sam, ma on tą samą zawartość i tak samo cache'uje się w przeglądarce - ma po prostu inną nazwę. Jeśli ktoś wpisze do paska adresu zamiast flash.swf - flash.php to otrzyma dokładnie to samo.

Więc jak dla mnie to nie jest rozwiązanie.
ska
Cytat(sowiq @ 27.11.2008, 13:05:33 ) *
Jeśli ktoś wpisze do paska adresu zamiast flash.swf - flash.php to otrzyma dokładnie to samo.

Nie. Bo dostęp do flash.php jest po spełnieniu odpowiednich warunków (logowanie/sesje). A plik .swf nie jest osadzany w html i wyświetlany, tylko przesyłane do przegladarki odpowiednie nagłówki, więc nawet dla "utrudnienia" źródła nie podejrzysz, ani nazwy pliku .swf ... dopiero jak zaczniesz szukać w cache, i też pod dość "dziwną" nazwą...

A dekompilacja cachowanej wersji nic Ci nie da, bo przekazuje parametry do flasha dynamicznie (odpowiednio *swf został zmodyfikowany pod to rozwiązanie), przed wyrzuceniem contentu.

i dało się ;-)
sowiq
Ja napiszę coś, co pisałem już kiedyś. Na kogoś, kto się nie zna wystarczą zabezbieczenia typu blokada prawego kliknięcia. Dla kogoś trochę bardziej obytego z tematem nie wystarczą zabezpieczenia .htaccess, skoro plik i tak jest ściągany.
Po drugie, osobie nieznającej się, nie przyda się Twój plik konfiguracyjny (czytaj - nie narobi Ci szkody). Inaczej z drugim typem osób.

Dlatego ja uważam, że nie warto zbytnio trudzić się z wymyślaniem podobnych zabezpieczeń. Daj adres strony, a założę się, że połowa osób z tego forum poda Ci po 5 minutach Twój plik konfiguracyjny smile.gif (oczywiście zakładając, że flash będzie miał uprawnienia do jego ściągnięcia)
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.