Archiv verlassen und diese Seite im Standarddesign anzeigen : Dateien nur vom Forum aus zugreifen
z.b. hier im Forum hat ein Smilie die Adresse
https://www.szenebox.org/images/smilies_v2/emoji06.png
wie kann ich z.b. unter htaccess einstellen dass ich den Smilie nur sehe wenn ich eingeloggt bin.
denn wenn ich im Szenenbox nicht eingeloggt bin und gebe die Addy ein dann sehe ich den Smilie.
Mir geht es nicht um die Smilie, ich wollte Dateien in einem Ordner machen die nur für eingeloggte User zum ziehen da sind. Will damit verhindern das jemand den link weiter gibt, denn wer dann nicht geloggt ist soll auch nix bekommen.
LG LB
Am einfachsten wäre das über Cookies und .htaccess möglich. Sprich wenn dein Forum bzw. deine Website Cookies beim Login schreibt, kannst du einfach die Cookies abfragen ob sie vorhanden sind und entsprechend den Zugriff erlauben.
Einfache Anleitung dafür: A simple way to limit file downloads to only logged in users in WordPress | The Gippy Pages (http://top-frog.com/2010/07/01/a-simple-way-to-limit-file-downloads-to-only-logged-in-users-in-wordpress/)
Müsstest nur den Code entsprechend dem Cookienamen anpassen und den Pfad zu den Smilies genauso.
# These next two lines will already exist in your .htaccess file
RewriteEngine On
RewriteBase /
# Add these lines right after the preceding two
RewriteCond %{REQUEST_FILENAME} ^/images/smilies_v2/(.*)\.png$ # Hier ist der Pfad zum Ordner mit den Bildern, welche nur eingeloggten Benutzern zur Verfügung stehen sollen
RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in.*$ [NC] # Hier musst du den Namen des Cookies einbauen, das beim Login gesetzt wird
RewriteRule . - [R=403,L]
bin nicht so bewandert darin,
ich nutze mit familie ein WBB 3.1
https://www.szenebox.org/images/_imported/2016/06/6.jpg
in meiner htaccess steht momentan das
RewriteEngine on
RewriteCond %{HTTP_HOST} ^XXXX\.XX$ [OR]
RewriteCond %{HTTP_HOST} ^www\.XXXX\.XX$
RewriteRule ^/?$ "http\:\/\/www\.XXXX\.XX\/upload" [R=301,L]
*statt x halt der name
ich weiß leider nicht welcher cookie name ich habe und wo finde ich den?
habe das schon gemacht
RewriteCond %{REQUEST_FILENAME} ^/datein/(.*)\.rar$
aber wie ich das noch richtig dazu gebe weiß ich leider nicht
RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in.*$ [NC] # <- ich weiß nicht welchen cookie name ich überhaubt habe
RewriteRule . - [R=403,L] #<- brauch ich das noch da oben schon das steht [R=301,L]
Bin leider nicht so in der Materie drin, mein Board hat ein bekannter gemacht mit den ich leider kein kontakt mehr habe.
Ich bedanke mich für jede hilfe
Bei Firefox reicht ein rechtsklick auf die Seite > Seiteninformation anzeigen > Sicherheit > Cookies anzeigen
(hmm lecker Kekse)
danke FLX
aber kein erfolg
habe 2 cookies undzwr die
cookieHash
wcf_boardLastActivityTime
man kann immer noch von außen laden.
RedDevil
02.06.2016, 13:15
Funzt das nicht mit dem Code ? Any text goes here...
im forum kann ich den Code Hide ja nutzen, nur das hilft ja nicht weiter weil so ein nicht eingeloggter User mit dem link trotzdem ziehen kann.
RedDevil
02.06.2016, 14:18
Normal sollte ja kommen: Bitte Reg Sie sich um den Link sehen zu können [oder so ähnlich]
Unlimiter
02.06.2016, 15:02
Wenn du tatsächlich HIDE und nicht SPOILER verwendest, dann hast du etwas falsch konfiguriert.
Bei WBB solltest du einstellen können, ob der Inhalt nachdem man einen Beitrag oder einer Bedankung abgegeben hat sichtbar wird. Außerdem solltest du dringend deine Benutzerrechte überprüfen, denn sollten die ersten beiden Punkte korrekt sein, so ist wahrscheinlich "immer sichtbar" in der "JEDER"-Gruppe aktiviert.
Weiteres dazu direkt bei der Beschreibung des BB-Codes:
https://pluginstore.woltlab.com/file/3-hide-bbcode/
- - - - - - - - - - Beitrag nachträglich erweitert - - - - - - - - - -
Moment, meinst du eher Folgendes:
Das Bild selbst soll nicht angezeigt werden können, wenn ein User nicht eingeloggt ist? Sprich der User soll keine "file permissions" auf die Dateien im Ordner selbst haben?
Dann ist die Lösung natürlich mit dem Hide nicht anwendbar, denn sobald man den Link hat, kann man ihn jederzeit öffnen.
Moment, meinst du eher Folgendes:
Das Bild selbst soll nicht angezeigt werden können, wenn ein User nicht eingeloggt ist? Sprich der User soll keine "file permissions" auf die Dateien im Ordner selbst haben?
Dann ist die Lösung natürlich mit dem Hide nicht anwendbar, denn sobald man den Link hat, kann man ihn jederzeit öffnen.
genau das wollte ich haben
Unlimiter
02.06.2016, 17:10
dann solltest du alternativ nicht lastactivity nehmen (die bleibt nämlich gesetzt), sondern auf user_id zurückgreifen.
etwas in der Art z.b.:
RewriteCond %{HTTP_COOKIE} ^.*user_id=(\d+).*$ [NC]
(an jbs Beispiel anpassen).
ich habe es nicht hinbekommen
Dazu wird es nötig sein die Bilder ausserhalb vom Webroot abzulegen.
Diese können dann nur indirekt mit zb. readfile() angezeigt werden da der direktaufruf ins leere führt.
/* nicht direkt erreichbarer Imagepfad */
$image = "/var/www/images/".my_image;
/* auslesen und anzeigen */
header('Content-Type: image/jpg');
readfile($image);
Anmerkung: Auslesen mit PHP wirkt bei hohen Zugriffszahlen sehr ressourcenlastig aber trifft bei dir ja auch eher nicht zu :D
Powered by vBulletin® Version 4.2.2 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.