RSS ohne allow_fopen_url nutzen - möglich?
RSS ohne allow_fopen_url nutzen - möglich?
Hallo
Ich verwende Contenido 4.6.8. Ich nutze bis jetzt ein RSS-Feed von Golem.
Aus bekannten Sicherheitslücken, habe ich unter anderem in der php.in "allow_fopen_url" auf "off" gestellt.
Nun geht der RSS Import nicht mehr. Schalte ich wieder auf "on" klappert er wieder.
Gibts eine Möglichkeit das auch mit dem Schalter "off" trotzdem zu verwenden?
Gruss
Fabian
Ich verwende Contenido 4.6.8. Ich nutze bis jetzt ein RSS-Feed von Golem.
Aus bekannten Sicherheitslücken, habe ich unter anderem in der php.in "allow_fopen_url" auf "off" gestellt.
Nun geht der RSS Import nicht mehr. Schalte ich wieder auf "on" klappert er wieder.
Gibts eine Möglichkeit das auch mit dem Schalter "off" trotzdem zu verwenden?
Gruss
Fabian
-
- Beiträge: 3215
- Registriert: Do 21. Okt 2004, 11:08
- Wohnort: Augsburg
- Hat sich bedankt: 4 Mal
- Danksagung erhalten: 17 Mal
- Kontaktdaten:
Re: RSS ohne allow_fopen_url nutzen - möglich?
Hallo clipboard,clipboard hat geschrieben:...
Aus bekannten Sicherheitslücken, habe ich unter anderem in der php.in "allow_fopen_url" auf "off" gestellt.
Nun geht der RSS Import nicht mehr. Schalte ich wieder auf "on" klappert er wieder.
Gibts eine Möglichkeit das auch mit dem Schalter "off" trotzdem zu verwenden?...
über fsockopen http://de.php.net/manual/de/function.fsockopen.php kannst du eine Socket-Verbindung aufbauen und RSS-Feeds auslesen, auch wenn "allow_fopen_url" auf "off" gesetzt ist.
Gruß
xmurrix
da gibts sogar eine contenido eigene funktion die das macht:
sollte dir den inhalt der datei.xml in die variable $rssinhalt einlesen. ansonsten gibt es hier ein paar schöne beispiele für die anwendung:
http://de.php.net/fsockopen
Code: Alles auswählen
$rssinhalt = sendPostRequest("www.egal.de","verzeichnis/datei.xml","");
http://de.php.net/fsockopen
Suchmaschinenfreundliche URLS durch Advanced ModRewrite 4.6.x
Module: Modul Download Liste 4.6 | Halbautomatischer Artikel-Seitenwechsel 4.6.x
Amazon Wunschzettel
Module: Modul Download Liste 4.6 | Halbautomatischer Artikel-Seitenwechsel 4.6.x
Amazon Wunschzettel
Interessant, aber wie genau nuzt man diese Funktion?stese hat geschrieben:da gibts sogar eine contenido eigene funktion die das macht:
sollte dir den inhalt der datei.xml in die variable $rssinhalt einlesen. ansonsten gibt es hier ein paar schöne beispiele für die anwendung:Code: Alles auswählen
$rssinhalt = sendPostRequest("www.egal.de","verzeichnis/datei.xml","");
http://de.php.net/fsockopen
Ich habe nun folgendes im Code des Moduls geändert...
Code: Alles auswählen
$sFeed = sendPostRequest("www.presseportal.de","rss/dienststelle_10374.rss2","");
#$sFeed = "http://www.presseportal.de/rss/dienststelle_10374.rss2";

Ein wichtiger Hinweis schon mal:
Der Slash vor dem zweiten Parameter ist wichtig, da ansonsten ein BadRequest vom angesprochenen Server zurückkommt.
Also so:
Der Slash vor dem zweiten Parameter ist wichtig, da ansonsten ein BadRequest vom angesprochenen Server zurückkommt.
Also so:
Code: Alles auswählen
$sFeed = sendPostRequest("www.presseportal.de","[b]/[/b]rss/dienststelle_10374.rss2","");
als serveradmin kann man für bestimmte dateien die verarbeitung bei bestimmten request methoden nicht zulassen - gerade bei dateien oder verzeichnissen, die niemals dafür gedacht worden post daten zu verarbeiten, zumal noch ohne referer (wie bei dir angegeben) deaktiviere ich die funktionen auch auf meinem server.
wenn es also nicht funktioniert, nutze bitte die fsockopen funktion von php (wenn du dir die sendPostData funktion anschaust, wirst du sehen, dass das nix anderes als ne funktion für die aufbereitung der daten für fsockopen ist, in der man allerdings nicht bestimmen kann, ob die daten nun per get oder post gesandt werden)
wenn es also nicht funktioniert, nutze bitte die fsockopen funktion von php (wenn du dir die sendPostData funktion anschaust, wirst du sehen, dass das nix anderes als ne funktion für die aufbereitung der daten für fsockopen ist, in der man allerdings nicht bestimmen kann, ob die daten nun per get oder post gesandt werden)
Suchmaschinenfreundliche URLS durch Advanced ModRewrite 4.6.x
Module: Modul Download Liste 4.6 | Halbautomatischer Artikel-Seitenwechsel 4.6.x
Amazon Wunschzettel
Module: Modul Download Liste 4.6 | Halbautomatischer Artikel-Seitenwechsel 4.6.x
Amazon Wunschzettel
ja, das muss man auch bei der normalen fsockopen funktion machen.rethus hat geschrieben:Ein wichtiger Hinweis schon mal:
Der Slash vor dem zweiten Parameter ist wichtig, da ansonsten ein BadRequest vom angesprochenen Server zurückkommt.
Also so:
Suchmaschinenfreundliche URLS durch Advanced ModRewrite 4.6.x
Module: Modul Download Liste 4.6 | Halbautomatischer Artikel-Seitenwechsel 4.6.x
Amazon Wunschzettel
Module: Modul Download Liste 4.6 | Halbautomatischer Artikel-Seitenwechsel 4.6.x
Amazon Wunschzettel
Danke schon mal...
Das mit dem Slash habe ich an dieser Stelle nur erwähnt, weil es in deinem Posting nicht so angegeben war... dort stand nur "verzeichnis/datei.xml"... und damit diejenigen die in gleicher Sache ne Lösung suchen, sich nciht mit kleinigkeiten rumschlagen müssen, habe ich es hier gepostet.
So, nun habe ich folgende Ausgabe, wenn ich die besagte Methode nutze:
Ich vermute, das er nun ein Problem damit hat, das die fsocket..Funktion erst den Status zurückgibt:
Gibts ne Möglichkeit, den rauszuschneiden, oder besser noch direkt beim Aufruf zu blocken?
Das mit dem Slash habe ich an dieser Stelle nur erwähnt, weil es in deinem Posting nicht so angegeben war... dort stand nur "verzeichnis/datei.xml"... und damit diejenigen die in gleicher Sache ne Lösung suchen, sich nciht mit kleinigkeiten rumschlagen müssen, habe ich es hier gepostet.
So, nun habe ich folgende Ausgabe, wenn ich die besagte Methode nutze:
Code: Alles auswählen
HTTP/1.1 200 OK
Date: Fri, 12 May 2006 11:56:48 GMT
Server: Apache
X-Powered-By: PHP/4.4.1
Connection: close
Transfer-Encoding: chunked
Content-Type: application/xml; charset=ISO-8859-1
3800
<?xml version="1.0" encoding="ISO-8859-1"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
<title>Polizeipresse.de - Polizeipressestelle Rhein-Erft-Kreis</title> usw...
Code: Alles auswählen
HTTP/1.1 200 OK
Date: Fri, 12 May 2006 11:56:48 GMT
Server: Apache
X-Powered-By: PHP/4.4.1
Connection: close
Transfer-Encoding: chunked
Content-Type: application/xml; charset=ISO-8859-1
jap.
der header und der content werden durch eine leerzeile abgetrennt. das funktioniert:
der header und der content werden durch eine leerzeile abgetrennt. das funktioniert:
Code: Alles auswählen
<?php
// hole komplette daten
$res = sendPostRequest("www.hostblogger.de", "/blog/feeds/index.rss2","");
// header und inhalt trennen
list($strHeader, $strContent) = explode("\r\n\r\n", $res, 2);
// entferne erste zeile - komisches zeichen
list($strAbfall, $strContent) = split("[\r\n]", $strContent, 2);
// entferne letzte zeile - eine zahl
$arr = split("[\r\n]", trim($strContent));
array_pop($arr);
$strContent = implode("\r\n",$arr);
$strContent = trim($strContent);
unset($arr, $strAbfall, $res);
print $strContent;
?>
Suchmaschinenfreundliche URLS durch Advanced ModRewrite 4.6.x
Module: Modul Download Liste 4.6 | Halbautomatischer Artikel-Seitenwechsel 4.6.x
Amazon Wunschzettel
Module: Modul Download Liste 4.6 | Halbautomatischer Artikel-Seitenwechsel 4.6.x
Amazon Wunschzettel
So, jetzt geht es bei mir auch ohne allow_url_fopen...
Ich habe das Modul so umgeschrieben, das nun automatisch getestet wird, ob die option aktiviert,oder deaktiviert ist.
Dementsprechend arbeitet das Modul dann. Als nächstes werde ich wohl noch eine Cache-Funktion in das Modul inkludieren... Ein Ansatz habe ich durch den Umbau schon...
Danke nochmal für die Hilfe
Ich habe das Modul so umgeschrieben, das nun automatisch getestet wird, ob die option aktiviert,oder deaktiviert ist.
Dementsprechend arbeitet das Modul dann. Als nächstes werde ich wohl noch eine Cache-Funktion in das Modul inkludieren... Ein Ansatz habe ich durch den Umbau schon...
Danke nochmal für die Hilfe

Hab da nochmal eine Frage...
Ich habe nun dieses Modul diversen Containern zugeordnet (auf der gleichen Seite)...
Nun stellt sich das Problem, das der eine RSS-Feed in ISO8859-1 und der andere in UTF-8 zurückgegeben wird.
Ihr könnt euch vorstellen, was das für ein Buchstabensalat gibt.
Wie kann ich das Problem umgehen?
Kann ich im Quellcode festlegen, das der eine Bereich UTF-8 Codiert ist, und der andere ISO8859-1?
Ich habe nun dieses Modul diversen Containern zugeordnet (auf der gleichen Seite)...
Nun stellt sich das Problem, das der eine RSS-Feed in ISO8859-1 und der andere in UTF-8 zurückgegeben wird.
Ihr könnt euch vorstellen, was das für ein Buchstabensalat gibt.
Wie kann ich das Problem umgehen?
Kann ich im Quellcode festlegen, das der eine Bereich UTF-8 Codiert ist, und der andere ISO8859-1?
nein das nicht, das charset wird im header der aufgerufenen seite festgelegt - das ist einmalig, aber du kannst theoretisch checken ob der rss utf8 ist (steht im übergebenen header)
und dann kannst du mit der php funktion utf8_decode() wieder den ISO string bekommen.
Code: Alles auswählen
Content-Type: text/xml; charset=utf-8
Suchmaschinenfreundliche URLS durch Advanced ModRewrite 4.6.x
Module: Modul Download Liste 4.6 | Halbautomatischer Artikel-Seitenwechsel 4.6.x
Amazon Wunschzettel
Module: Modul Download Liste 4.6 | Halbautomatischer Artikel-Seitenwechsel 4.6.x
Amazon Wunschzettel
Ok, hab es soweit hinbekommen.
Moch würde nun noch interessieren, wie ich Contenido sage, welchen Zeichensatz er für die Seiten nehmen soll.
Gibt es da irgendwo eine Einstellungsmöglichkeit im Adminbereich?
Oder muss man das irgendwo hart Codieren?
Gibts ne Variable wo ich abfragenkann, wie der aktuelle Zeichensatz lautet, den Contenido derzeit nutzt?
Moch würde nun noch interessieren, wie ich Contenido sage, welchen Zeichensatz er für die Seiten nehmen soll.
Gibt es da irgendwo eine Einstellungsmöglichkeit im Adminbereich?
Oder muss man das irgendwo hart Codieren?
Gibts ne Variable wo ich abfragenkann, wie der aktuelle Zeichensatz lautet, den Contenido derzeit nutzt?