Bilder werden wegen htaccess nicht angezeigt?

3 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Klar geht das!

<img src="http://user:passwort@img.example.com/1.png">

Allerdings veröffentlichst du damit dann die Zugangsdaten und könntest dir somit den Schutz auch gleich sparen. Aber das war ja nicht die Frage ;)


Ollig00 
Beitragsersteller
 27.08.2020, 11:49

Vielen Dank! Ich denke, damit kann ich etwas anfangen...

MfG

0

nein gibt es nicht , wäre auch extrem unsicher .

generell wenn du htaccess schutz benutzt wirst du nur noch mit einem serverseitigen programm (z.z. php) die daten auslesen können und dann als bild rausschicken , wenn das programm auf dem gleichen server läuft und direkter zugriff auf den ordner da ist , oder du machst irgendwas komplett umständliches mit curl und tust so als wäre dein system ein browser .

den generell gilt bei htaccess , der browser übernimmt die arbeit der authentifizierung und niemand anderes sonst .


Ollig00 
Beitragsersteller
 25.08.2020, 20:25

Danke!

Ich weiß ja, in C# kann man bei einem WebRequest mit dem HttpClient auch die Credentials übergeben, daher dachte ich, dass das auch mit meinem Vorhaben geht.

Mir geht es darum, dass man das gesamte Verzeichnis auf der Subdomain einsehen kann, verstehst Du? Also eben mit dem Directory Listing. Ich will den Zugriff auf dieses Verzeichnis nicht zulassen, außer man gibt eben die Logindaten an. Allerdings will ich dann ausgewählte Bilder (wie oben beschrieben) auf einer Seite angezeigt bekommen. Kennst Du dafür irgend eine Lösung?

MfG

0
alfredo153  25.08.2020, 20:50
@Ollig00
Allerdings will ich dann ausgewählte Bilder (wie oben beschrieben) auf einer Seite angezeigt bekommen

Ist dir bewusst, dass der Browser des Benutzers die Bilder holt, nicht dein Server?

0
RakonDark  25.08.2020, 21:16
@Ollig00

jup einfach dein PHP auf dem server das direktory erstellen lassen und dem browser schicken , das geht natürlich genauso auch in C# und wenige server akzeptieren c# programme etc, aber das läuft ja nicht im browser . ich glaub dir fehlen irgendwie die grundlagen wer was wo macht . in c# baust du quasi einen client genauso wie auf ienem server man das mit curl auch macht . bilder lesen und ausliefgeren etcist auch kein ding , musste halt nur mit dem richtigen header dann an browser senden . das wird dann sowas wie logeduserimageview.php?imageid=12 und dein php prüft dann über session ob der user eingelogged ist und sendet dann mit dem richtigen mime typ das bild . also lern einfach eine server sprache die dein webhoster anbietet . dann lernst du session baust eine datei die nur wenn user angemeldet sind halt die bilder von dem ordner liesst und auslieferst .

0
Ollig00 
Beitragsersteller
 25.08.2020, 21:16
@alfredo153

Ja, das weiß ich. Aber gibt es da nicht irgend eine Möglichkeit? Bspw. wie als würde eine weitere PHP Datei das Bild mit den Credentials holen und dann auf dieser Art und Weise das Bild anzeigen lassen?

MfG

0
alfredo153  25.08.2020, 21:20
@Ollig00

Das wäre möglich, aber schon unnötig mühsam. Warum nicht gleich die öffentlichen Bilder in einem öffentlichen Verzeichnis lassen?

0
Ollig00 
Beitragsersteller
 25.08.2020, 21:23
@alfredo153

Das die Bilder öffentlich sind, ist ja in Ordnung (schließlich werden sie ja auch angezeigt). Mir geht es mehr oder weniger darum das Verzeichnis nicht aufrufen zu können, weil man sonst alle Dateien in dem Verzeichnis sehen kann.

Ich möchte alle Bilder separat gespeichert haben, weil mir sonst die Verzweigung zu viel wird und ich nicht mehr genau weiß, wo alle Bilder herkommen. So würde ich mir dann auch Speicherplatz sparen, wenn das Bild nur noch einmal vorhanden ist.

Gibt es denn für diese Möglichkeit ein Beispiel?

MfG

0
alfredo153  25.08.2020, 21:24
@Ollig00
Mir geht es mehr oder weniger darum das Verzeichnis nicht aufrufen zu können, weil man sonst alle Dateien in dem Verzeichnis sehen kann.

Das ist alles? Das kann man doch in jedem Webserver konfigurieren. Bei Apache .htaccess sowas wie

Options -Indexes

Und kopieren müsste auch nicht sein, gibt ja Symlinks.

0
Ollig00 
Beitragsersteller
 25.08.2020, 21:29
@alfredo153

Und jetzt kommt der Clou: Ich, also ICH brauche das Listing...

0
RakonDark  25.08.2020, 21:42
@Ollig00

willst du nicht lesen was ich geschrieben habe , ich hab das schon seit 16 Jahren so gemacht. du mussst schon lernen wie man mit PHP eine datei liesst und ausliefert (bzw ein listing darstellt), es gibt dutzende php programme die dir ein directory erstellen von einem verzeichnis . sorry aber wir sagen dir nur wie und alfredo153 ist ein homeuser der gar nicht schnallt was wie wo ist , der hat vielleicht mal irgendwie eine flat html seite erstellt . jedenfalls sind seine aussagen immer das gleiche anfänger ding : weil ich nciht weiss wie es geht , erkläre ich jetzt das vorhaben als unsinn .
mit dem kannste jtzt tage diskutieren, weil er nix verstehen will sondern sich seine vorstellung seiner welt als GOT gegeben annimt.
btw . ich hab das sogar mit htaccess und rewrite gemacht , die URL wird einfach an ein php mit parameter übergeben und das gibt dann das bild aus, natürlich vorher mit login prüfung , wenn du sowas alles noch nciht kannst , dann fang an zu lernen und es umzusetzen . google hat da zu jedem begriff genug infos .
zum thema rewrite zeig ich mal ein beispiel

RewriteRule ^files/exe/([^/]+)$ download/download\.php?nameoffile=$1 [L]

wird also eine datei im ordner files/exe/beispiel.exe aufgerufen wird es nicht direkt gednowloaded sondern umgeschrieben zu download/download.php?nameoffile=beispiel.exe

download.php prüft ob es ein login gibt und liefert dann halt die datei an den browser, in diesem fall als download . gibt es keinen login passiert in meinem fall nix , andere lenken dann gerne mit location auf die login seite .

gibt genug beispiele im netz. wir sind hier nicht dafür da dir das fertig zu programmieren .

1
Ollig00 
Beitragsersteller
 25.08.2020, 21:47
@RakonDark

Danke.

Ich muss mir etwas anderes einfallen lassen...
Übrigens, wenn ich wollte, dass mir das jemand fertig programmiert, dann hätte ich das schon so formuliert. Egal.

Trotzdem schaue ich mir das von Dir noch einmal an und baue es um.

MfG

0
RakonDark  25.08.2020, 21:48
@Ollig00

es gibt nix anderes , das php auf deinem server muss die arbeit machen . sorry aber ich bin profi seit 25 Jahren , willst du mir jetzt erzählen das es etwas neues gibt was keiner kennt und niemand kann ?

0
RakonDark  25.08.2020, 21:53
@Ollig00

und dein grund heisst nur (etwas anderes) das du es nicht kannst und dir wohl doch jemand anderes das programmieren soll . ohne rewrite wirst du halt nicht eine direkte url schützen können (das tust du ja mit htaccess und das wiederum kannst du nicht in HTML umgehen , das hat ganz einfach sicherheitsgrunde, den jeder könnte den link sehen kopieren und an alle verteilen .. den du kannst ja nicht sagen , lade von bla bla die bilddatei , den der aufruf sagt dem server nur , liefer die datei aus . das heisst soviel wie : hier wird kein programm gestartet .EIN Webserver ist gundelgend erstmal nur ein programm was dateien ausliefert , server scripte wurden viel viel später erfunden und ein bild.jpg ist und bleibt kein script . denk mal drüber nach .

0
Ollig00 
Beitragsersteller
 25.08.2020, 22:15
@RakonDark

Ich habe es doch verstanden?? Keine Ahnung was Du verstanden hast, aber ich habe nichts von "es gibt etwas, das keiner kennt" o.ä. gesagt.

Ich kann in PHP programmieren, aber ich habe bisher noch nicht so eine Aufgabe gehabt. Fragen ist doch wohl erlaubt, oder? Wenn Du es dann direkt als Angriff interpretierst, ist das nicht meine Schuld. Für Dich als Erklärung, was ich mit "etwas anderes" meine:
Es gibt viele Möglichkeiten, um an eine passende Lösung zu kommen. Dabei kann eben auch etwas wegfallen, wie zB htaccess.

Egal. Belassen wir es dabei und schließen das Thema!

0