Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [XML][PHP]Możliwość zabezpieczenia dostępu do XML tylko z bezpośredniego wejścia
Forum PHP.pl > Forum > Przedszkole
adek-
Witajcie,

Jak najlepiej zabezpieczyć pliki XML przed bezpośrednim dostępem, ale zezwolić na otwieranie ich przez stronę?

Jako, że nie mogłem znaleźć rozwiązania na żadnej stronie które by się sprawdzało piszę tutaj, może Wy jakoś rozwiązujecie ten problem po swojemu. Chodzi o blokadę bezpośredniego otwarcia plików XML z wpisanego z palca adresu URL, ale zezwolenie na otwieranie i wczytywanie ich przez stronę. Wszystkie wpisy w .htaccess jakie znajdywałem
  1. Options -Indexes
  2. deny from all
  3. lub
  4. <Files "*.xml">
  5. deny from all
  6. </Files>

itd blokują dostęp do pliku i bezpośrednio i na stronie, więc rozwiązanie niezadowalające, bo wtedy w ogóle nie da się ich odczytać. Blokowanie folderu na hasło również blokuje dostęp do wyświetlania plików na stronie. Oczywiście wyłączenie listowania plików w danym folderze itd. jest zrobione.
Zabezpieczenie plików w .htaccess przed hotlinkowaniem też nie pomaga
  1. RewriteEngine on
  2. RewriteCond %{HTTP_REFERER} !^$
  3. RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?domenastrony.com [NC]
  4. RewriteRule \.(jpg|jpeg|xml|pdf)$ - [NC,F,L]
  5. czy też
  6. #Redirect all request for things in /pliki_xml that don't come from website to 404 page (assumed to be /404 in this case) - Prevents hotlinking
  7. RewriteCond %{REQUEST_URI} ^/pliki_xml
  8. RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?domenastrony\.com [NC]
  9. RewriteRule ^.*$ /404 [L,R=404]

Niestety nie pozwalają też otworzyć pliku przez stronę....

dostęp (chmod) żeby wykonywał i odczytywał tylko przez właściciela chmod 700 lub 500 też nie skutkuje...

Próbowałem nawet w .htaccess robić małe oszukaństwo które otwierałoby pliki XML inną aplikacją i nie otwiera, ale pobiera go na dysk do folderu pobrane, gdzie możemy go sobie otworzyć smile.gif
  1. AddType application/x-httpd-php .xml


Jak Wy polecacie zabezpieczyć pliki przed direct access, czy jest na to jakiś sposób?
Pyton_000
Próbowałeś

Kod
        Order Deny,Allow
        Deny from all
        Allow from localhost
        Allow from 127.0.0.1
adek-
Pyton_000 wpis ten również blokuje całkowicie dostęp do pliku, bezpośrednio i ze strony, przez co simpleXML nie ma do niego dostępu z poziomu strony. ;/

Ostatnio wyczytałem, że można pliki chronić w taki sposób, aby wgrywać je w folder wyższy niż publiczny, gdzie bezpośrednio strona nie ma do niego dostępu, ale za pomocą skryptów CGI można jej to umożliwić i szukam jakichś konkretnych, namacalnych przykładów zastosowania tego, bo jeszcze nikt mi tej metody nie potwierdził. Chyba, że Wy możecie?

Okazuje się, że nie taki łatwy to temat, szukałem już na wielu portalach zagranicznych i nie znalazłem pełnego i sprawdzonego rozwiązania, a nie chce mi się wierzyć, że nie ma jakiejś podstawowej ochrony na taki bezpośredni dostęp?
kapslokk
Cytat
Wpis ten również blokuje całkowicie dostęp do pliku, bezpośrednio i ze strony, przez co simpleXML nie ma do niego dostępu z poziomu strony. ;/

Jeżeli odwołujesz się do pliku przez http:// to pewnie, że blokuje, ale skoro jest na jednym serwerze to po co przez http?
Tomplus
A zmieniałeś prawa dostępu CHMOD?
np. 700 albo 600 jako prawa dla właściciela - przyjmuję że plik został utworzony przez program serwera.

A co do umieszczania wrażliwych danych po za strukturę strony, to wcale nie jest zły pomysł. Serwery udostępniają przestrzeń do której dostęp można uzyskać tylko przez FTP lub terminal.
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.