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
Options -Indexes deny from all lub <Files "*.xml"> deny from all </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
RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?domenastrony.com [NC] RewriteRule \.(jpg|jpeg|xml|pdf)$ - [NC,F,L] czy też #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 RewriteCond %{REQUEST_URI} ^/pliki_xml RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?domenastrony\.com [NC] 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ć

AddType application/x-httpd-php .xml
Jak Wy polecacie zabezpieczyć pliki przed direct access, czy jest na to jakiś sposób?