Bestimmte Dateitypen sperren mit .htaccess?

2 Antworten

Hi axelred5,

mit der .htaccess kannst du den Zugriff auf bestimmte Dateitypen verbieten, aber diese kannst du dann nicht mehr via Iframe einbinden. PHP dagegen kann auf die .txt nach wie vor darauf zugreifen.

Das ganze machst du so:

RewriteEngine On
RewriteCond %{REQUEST_URI} \.txt$ [NC]
RewriteRule .* - [F,L]

;-)

Woher ich das weiß:Berufserfahrung – Ich bin gelernter Mediengestalter Digital und Print(IHK)

Wenn ich das richtig verstehe sollen die txt's also per Iframe eingebunden werden können, aber nicht direkt im Browser als Tab zu öffnen sein.

Wenn ich so richtig verstanden habe kann ich dir nur sagen, dass das nicht wirklich gehen wird. Egal ob eine Datei/Seite als Browser Tab geöffnet wird oder nur per Iframe eingebunden ist macht für den Server kein unterschied. Ich bin mir nicht sicher ob per Iframe vllt. noch spezielle Header mit gesendet werden auf die man in der htaccess prüfen könnte, aber man könnte diese auch falls vorhanden mit manuellen anfragen 'fälschen'.

Wenn du den kompletten zugriff auf txt's verhindern willst würde das natürlich gehen.

Woher ich das weiß:Hobby

axelred5 
Beitragsersteller
 09.02.2025, 20:48

Also es werden immer 2 Dateien geschrieben, somit könnte ich die 1. Datei verschlüsseln und die 2. für den Iframe benutzen, das wäre eine php die ich ja über einen Header an die Login Session anschließen kann. Wenn jedoch der direkt Zugriff verboten wird auf die TXT, kann ich dann trotzdem noch über einen php nen Download nutzen? Kam dann auch Zugriff verweigert wenn ich auf Download klicke.

Suiram1  09.02.2025, 20:59
@axelred5
Also es werden immer 2 Dateien geschrieben, somit könnte ich die 1. Datei verschlüsseln und die 2. für den Iframe benutzen, das wäre eine php die ich ja über einen Header an die Login Session anschließen kann.

Aus diesem part verstehe ich exakt nichts. Falls das für das Problem relevant ist wäre nett wenn du dort noch etwas Kontext hinzugeben könntest.

Wenn jedoch der direkt Zugriff verboten wird auf die TXT, kann ich dann trotzdem noch über einen php nen Download nutzen?

Das kann man sehr einfach umsetzten das die txt per Anfrage verfügbar ist. Per PHP kannst du anstelle der Url zur datei eine Daten url einfügen. Diese sieht so aus:

data:text/plain;charset=utf-8,$DeinText

Dasselbe geht auch mit Binär daten wie Pdf's und allem andere mit nem extra schritt.

Eventuell solltest du noch das download-Attribut hinzufügen um dem Browser den Dateinamen und vorallem mitzuteilen das es sich um eine txt' handelt.

axelred5 
Beitragsersteller
 09.02.2025, 21:41
@Suiram1

habs jetzt geschafft mit:

<FilesMatch ".txt,html">

Order Allow,Deny

Deny from All

</FilesMatch>