Beiträge von Lim_Dul

    Ich hab ein Plugin geschrieben, was das hotlinken von Bildern zumindest stark eindämmt. Dazu wird per mod_rewrite ein Abruf des Bildes zu einem speziellen Bild umgeleitet, wenn der Referrer nicht leer ist und nicht der Blog-URL entspricht.

    Damit aber Online-Feedreader weiterhin funktionieren, werden die Bilder im Feed über eine alternative URL aufgerufen, für die der Referrer-Check nicht greift.

    Damit lassen sich zwar die Bilder im Feed hotlinken, allerdings ist dies meines Erachtens nicht zu verhindern, ohne das man auch den ein oder anderen Online-Feedreader blockiert.

    Zu finden ist das ganze hier: Hotlink Protection Plugin for Wordpress » Spaß mit der Deutschen Bahn

    Ich hab mich jetzt für folgende Lösung entschieden:

    Das Default Bild bleibt im Plugin-Verzeichnis.
    Wenn der Benutzer ein anderes haben will, muss in den Optionen einen Haken bei "Use custom image" machen und einen Namen angeben. Dieses Bild muss dann im Theme liegen. So läuft es "out of the box" ist aber dennoch variabel.

    Man sollte aber bedenken, dass das fehlen dieser Informationen es dem Angreifer nicht wirklich schwerer macht. Folgende 3 Szenarien fallen mir:

    a) Der Angreifer hat es explizit auf einen Blog abgesehen. Dann wird er auch alle Exploits testen. Sicherheitsgewinn: Quasi nicht vorhanden
    b) Angriff eines Bots/Wurms, der automatisch versucht die Seiten anzugreifen. Unwahrscheinlich das sich der Autor die Mühe einer Versionsabfrage gemacht hat: Sicherheitsgewinn: Marginal
    c) Angriff durch Suche nach den entsprechenden, markanten Strings wie wpTube oder so. Sicherheitsgewinn: Nur vorhanden, wenn man genau die Infos erwischt, nachdenen gegegooglet wird, also marginaler Sicherheitsgewinn.

    Von daher ist dieses Security by obscurity (Nichts anderes ist das löschen aller Versionsinfos) nicht wirklich ein echter Sicherheitsgewinn und kann zeitnahe Updates keinesfalls ersetzen. Im Gegenteil kann das sogar Angreifer herausfordern, weil sie sehen: Versionsinfo unbekannt, also vielleicht alte Version. also testen wir mal alles.

    Ich schreibe gerade ein Plugin, was auch ein Bild enthält.

    Nun frage ich mich, wo packe ich das Bild hin. Das Bild soll auch vom Benutzer ersetzbar sein.

    Möglichkeit a)
    Ich sage dem Benutzer, er soll das mitgelieferte Bild ins Template Directory kopieren.
    Vorteil: Da gehört es meinem Gefühl nach hin
    Nachteil: Benötigt manuelle Interaktion des Users

    Möglichkeit b)
    Ich las das Bild im Plugin Directory.
    Vorteil: Keine manuelle Interaktion benötigt.
    Nachteil: Da gehört es irgendwie nicht hin und wenn der Benutzer ein anderes Bild will, muss er es auch ins Plugin-Directory hochladen, was ich unsauber empfinde.


    Irgendwie werde ich mit keiner Lösung so richtig warm..

    Naja, das hat aber den Nachteil, dass du von externen Diensten abhängig bist. Fällt einer davon aus oder ist gerade mal langsam, ist auch dein Blog langsam.

    Solange es Traffic-mässig nicht stört, würde ich mindestens die Bilder auf deinem Webspace hosten. Und die Updates von Wordpress stören ja nicht, in 99,9% der Fälle aktualisiert man ein paar Dateien und alles läuft weiter.

    Ich versuche gerade meine ersten Schritte mit einem Plugin und wundere mich über folgendes:

    Im RSS-Feed (wp-rss.php) wird der Inhalt mittels the_content_rss abgerufen
    Im RSS2-Feed (wp-rss2.php) wird der Inhalt jedoch mittels the_content abgerufen, was bedeutet, dass ich mit dem filter the_content_rss natürlich keine Chance habe, den Inhalt zu ändern.

    Kennt jemand den Grund dafür?

    ich muss das darunter machen. ich mach das net das es für mich zählt nein, wenn ich news kopiere muss ich wenn alles kopieren und dann auch noch die wuellen angeben deshalb das web.de und so


    Egal ob mit oder ohne Quellenangaben ist es illegal und kann dich richtig Geld kosten!

    Hm, ich glaub da nicht so richtig dran, dem Server ist es egal ob /feedimage.php?picture=blablub oder /mypic/blablub.jpg aufgerufen wird! Es erfolgt ein tatsächlicher Zugriff auf das "physiche" Bild.
    Ich denk der würde trotzdem:
    Wenn der Referrer nicht leer ist und nicht meiner Blog-URL entspricht: Rewrite auf ein Hinweis-Bild "Du böse, du nicht machen"

    Sorry, nein das stimmt nicht. PHP greift über das Dateisystem auf die URL zu. Der Apache bekommt von dem physischen Zugriff nichts mit.

    Der Feedreader sieht als Bild ein PHP-Script, beispielsweise /feedimage.php?picture=blablub.

    Das das PHP-Script intern im Dateisystem auf das echte Bild zugreift, bekommt man von ausen nicht mit.

    Zitat


    Wenn ich jetzt hotlinke auf dein
    Orginal: /wp-content/myfotos/bild.jpg
    was passiert dann?


    Wenn der Referrer nicht leer ist und nicht meiner Blog-URL entspricht: Rewrite auf ein Hinweis-Bild "Du böse, du nicht machen ;)"

    Die Idee, die mir rumschwebt ist beispielsweise:

    Orginal: /wp-content/myfotos/bild.jpg
    Im Feed: /wp-content/feedimages/bild.jpg
    Per Mod-Rewrite umgeschrieben auf:
    /pfad/zu/feedimages.php?picture=/wp-content/feedimages/bild.jpg

    Das Script macht dann im groben nichts anderes als
    fpassthru('/wp-content/myfotos/bild.jpg');

    Ist aber bis jetzt halt nur eine Grunde erstmal nur eine Idee.

    Sinn der Sache ist, dass die meisten Leute über die google Bildersuche die Bilder suchen und dann direkt verlinken. Das würde ich gerne unterbinden, ohne die Online Feedreader auszusperren.

    Klar kann man dan aus dem Feed die Bilder direkt linken oder sie runterladen und selber hosten. Ich würde es halt gerne etwas erschweren.

    2x vorhalten müsste ich die ja nicht, ich würde die url auf ein skript ändern, was nichts anderes macht, als die orginalen Bilder auszugeben.

    Es gibt aber keine von Wordpress vorgesehe Möglichkeit den Feed-Inhalt vor der Auslieferung zur ändern, ich müsste also direkt an den Orginal-Code ran?

    Edit:
    the_content_rss
    applied to the post content prior to including in an RSS feed.

    Scheint doch einen Filter zu geben, in den sich ein Plugin reinklinken könnte.

    Ich hab auf meinem Blog (siehe Signatur) auch häufiger mal Bilder in den Beiträgen. Viele Bilder sind nicht von mir, sondern von anderen Personen. Ich habe zwar die Erlaubnis diese auf meinem Blog einzubinden, aber mehr auch nicht.

    Nun sind einige Bilder aber in der Google Bilder Suche doch recht gut zu finden und werden daher gerne auf anderen Seiten ohne Rückfrage direkt eingebunden. Dies würde ich gerne verhindern, ohne dabei den Online-Feedreadern den Saft abzudrehen.
    Ebenso würde ich ungerne eine Whitelist von Feedreadern pflegen, da die nie aktuell ist und ich garantiert den ein oder anderen vergesse.

    Daher hat mir wer den Vorschlag gemacht, im Feed die Bilder über eine andere URL einzubinden. Also anstelle von /wp-content/myfotos beispielsweise /wp-content/feed-myfotos oder so in der Art.

    Gibt es für sowas ein Plugin? Wenn nein, wo finde ich eine Anleitung, wie ich ein Wordpress Plugin schreibe (Also Rahmenstruktur, Aufbau etc.)