News News News
Andreas
- php
0 Sven Rautenberg0 Andreas0 Sven Rautenberg0 Andreas0 Sven Rautenberg0 Andreas
Hallo,
mein Hoster lässt PHP im safemode laufen.
Darum sind bislang alle Versuche einen News-Dienst wie z.B. Heise zu installieren fehlgeschlagen.
(Heise.php)
Dann hab ich mir gedacht, wenn ich die Heise.php in meinem Verzeichnis includen kann (auch wenn der Code nicht läuft) dann könnte ich das vieleicht auch auf eine Heise.php auf der URL www.xyz.de includen. Hat aber nicht funktioniert.
Bin nun ziemlich frustriert.
Gibts denn keine Möglichkeit einen Newsdienst in die eigene Seite zu laden die News aus dem Bereich Computer/Internet/Programmieren anbietet?
Gruß Andreas
Moin!
Bin nun ziemlich frustriert.
Gibts denn keine Möglichkeit einen Newsdienst in die eigene Seite zu laden die News aus dem Bereich Computer/Internet/Programmieren anbietet?
Wenn PHP im safe_mode läuft, kannst du nur Newsdienste aus dem Bereich Häkeln/Handarbeiten/Blumengestecke einbinden.
Ansonsten: Beachte </faq/#Q-07>
- Sven Rautenberg
Hallo,
Wenn PHP im safe_mode läuft, kannst du nur Newsdienste aus dem Bereich Häkeln/Handarbeiten/Blumengestecke einbinden.
Wirklich so schlimm?
Ansonsten: Beachte </faq/#Q-07>
Äh - ich wüsste jetzt nicht in welchem Bezug. War meine Frage so dämlich?
Gruß Andreas
Moin!
Hallo,
Wenn PHP im safe_mode läuft, kannst du nur Newsdienste aus dem Bereich Häkeln/Handarbeiten/Blumengestecke einbinden.
Wirklich so schlimm?
Nein, natürlich nicht.
Ansonsten: Beachte </faq/#Q-07>
Äh - ich wüsste jetzt nicht in welchem Bezug. War meine Frage so dämlich?
In dem allgemeinen Bezug "Gib mehr Informationen, wenn du selber schon keine Lösung findest". Gibt da doch nur vier Unterpunkte bei Nr. 7.
Wenn du sagst "XYZ geht nicht - was kann man tun?", dann eröffnest du damit ein großes Lotterie-Ratespiel, bei dem man mit seinem Wissen nix gewinnen, sondern nur blind tippen kann.
- Sven Rautenberg
OK, mehr input.
Hoster ist Kontent. Folgendes Script heise.php versuche ich zu includen:
<?
print "<span class="heisenews">";
$fcontents = join ('', file ('http://www.heise.de/newsticker/heise.rdf'));
echo $fcontents;
$fcontents = str_replace ("</item>", "", $fcontents);
$fcontents = str_replace ("</link>", "", $fcontents);
$splices = explode ("<item>", $fcontents);
for ($i = 1; $i < count($splices); $i++){
$link = explode("<link>",$splices[$i]);
//$link[1] = strip_tags($link[1]);
$headline = str_replace ("<title>", "<a href="" . trim($link[1]) . "" target="_blank" class="heiseheadline">", $splices[$i]);
$headline = str_replace ("</title>", "</a>", $headline);
$headline = explode ("<link>", $headline);
$headline = $headline[0];
print $headline . "<img src="1.gif" height=20 width=1 align=top><br>";
}
print "</span>";
?>
test.php:
<?php
@include("heise.php");
?>
Angezeigt wird aber überhaupt nichts.
Ich hab schon früher mit anderen News-Scripten mich versucht die auf News-Dateien zugreifen. Es funktioniert einfach nicht.
Gruß Andreas
Moin!
OK, mehr input.
Gut.
$fcontents = join ('', file ('http://www.heise.de/newsticker/heise.rdf'));
Ich hätte an dieser Stelle Bedenken, weil du eine fremde URL abfragst - das kann Kontent, wenn sie schlau sind, unterbunden haben. Lass dir mal in einem Skript das Ergebnis von "phpinfo()" ausgeben und schau nach der Option "allow_url_fopen".
echo $fcontents;
Dieses ECHO dürfte dann eigentlich keinerlei Text ausgeben.
Angezeigt wird aber überhaupt nichts.
Wenn du die URL nicht abfragen kannst, kommt logischerweise nix. Du hast mit Glück die Möglichkeit, über .htaccess die allow_url_fopen einzuschalten, und ansonsten könntest du versuchen, direkt mit dem Heise-Server HTTP zu sprechen, indem du fsockopen() benutzt. Das ist dann aber ein ganzes Ende komplizierter.
- Sven Rautenberg
Hallo,
allow_url_fopen steht auf Off.
Eins weiss ich, mein nächster Hoster ist nicht im php-safemode.
Wollte schon verschiedene Mods für mein PHP Board installieren, die aufgrund dessen nicht laufen.
Gruß Andreas
Moin!
allow_url_fopen steht auf Off.
Wie ich vermutete. Ohne Änderung können die Funktionen fopen, include, file und require also nur Dateien im lokalen Dateisystem öffnen, keine URLs. Das ist durchaus eine gute Sicherheitsmaßnahme.
Wie erwähnt: Entweder kannst du das mit einer .htaccess-Datei ändern (Archivsuche http://suche.de.selfhtml.org), oder du mußt fsockopen() bemühen.
Eins weiss ich, mein nächster Hoster ist nicht im php-safemode.
Safemode ist für Webspace, den man sich auf einem Server mit anderen teilen muß, schon ok. Ansonsten hätten die anderen viel zuviel Zugriff auf die eigenen Dateien. Nur wenn deswegen was nicht geht, ist es natürlich ärgerlich.
- Sven Rautenberg
Hallo,
Ohne Änderung können die Funktionen fopen, include, file und require also nur Dateien im lokalen Dateisystem öffnen
Wie erwähnt: Entweder kannst du das mit einer .htaccess-Datei ändern (Archivsuche http://suche.de.selfhtml.org), oder du mußt fsockopen() bemühen.
OK, wie komm ich an die .htaccess-Datei heran? Wie kann ich die Einträge ändern? oder wie geht das?
Hab in der Suche keine Threads gefunden die das explicit beschreiben.
Gruß Andreas
Moin!
Wie erwähnt: Entweder kannst du das mit einer .htaccess-Datei ändern (Archivsuche http://suche.de.selfhtml.org), oder du mußt fsockopen() bemühen.
OK, wie komm ich an die .htaccess-Datei heran? Wie kann ich die Einträge ändern? oder wie geht das?
Wenn du in der Suche einfach nur mal ".htaccess" suchst, findest du mehr als genug Treffer. Beispielsweise die htaccess-FAQ (http://aktuell.de.selfhtml.org/artikel/server/htaccess-faq/index.htm) in den Feature-Artikeln als allgemeine Info, was das ist und was man damit tun kann. - Es ist nie verkehrt, ein wenig dazuzulernen, das kann immer noch nützlich sein. :)
Allerdings: Die PHP-Einstellung allow_url_fopen kannst du, wie ich gerade gelesen habe, mit .htaccess nicht ändern.
Dir bleibt also nur die Methode, ein Skript zu schreiben, welches HTTP mit dem externen Server spricht. Bei dem Manualeintrag von fsockopen() (http://de.php.net/fsockopen) ist zum Glück ein Beispiel dabei, welches du verwenden und modifizieren kannst.
- Sven Rautenberg
Hallo Sven,
danke nochmals für deine Mühe.
Ich bin den Weg des geringsten Widerstand gegangen und habe die News-Datei per Iframe eingebunden. Der Kollege der mir die zur verfügung stellt, hat mir noch ein Include auf eine Datei gemacht, so dass ich in dieser die Formatierungen machen kann.
Vom Ergebnis bin ich ziemlich zufrieden, sieht mal doch kein Unterschied, bzw. dass es ein Frame ist.
Gruß Andreas