danke, thx euch allen.
EDIT:
ähm, error:
link: jw-lighting.bplaced.net/weiter.html und dann auf den link.
code der seite:
[code]
Leaving XYZ
<?php
$allowed_urls=array(“http://www.jw-lighting.de.vu ”, “http://jw-lighting.de.vu ”, “http://www.jw-lighting.bplaced.net ”, “http://jw-lighting.bplaced.net ”, “”); // “” sorgt für Annahme bei leerem Referer
$url = $_GET[‘url’];
$ref = $_SERVER[‘HTTP_REFERER’];
$error = “”;
if(!preg_match("!http://([a-zA-Z0-9.]+).[a-z]{2,3}/i", $url))
$error = “Fehlerhafter ausdruck”;
else if(!in_array( substr($ref, 0, strpos($ref, ‘/’), $allowed_urls))
$error = “Keine externe Verlinkung!!!”;
else
echo "
?>
Leaving XYZ
<?php
if($error)
echo "
".$error."
";
else
echo "
Sie werden in 3 Sekunden automatisch weitergeleitet, wenn sie nicht warten wollen klicken sie hier
";
?>
[/code]
[quote=„hummer“][quote=„michi7x7“]
@hummer : Warum hast du eig. meinen kompletten Quelltext kopiert und ein paar Klammern gesetzt? Meiner hätte doch auch gereicht [/quote]
Naja, dann schau dir deinen Quelltext nochmal genau an, da sind schon ein paar Fehler drin. Diese hab ich nur behoben. Und mit Klammern find ich es einfach übersichtlicher.[/quote]
Du hast recht… bei der Ausgabe des META-Tags war ich wohl gedanklich abwesend…
Klammern finde ich persönlich eher unübersichtlicher, ich rücke meist nur ein
das ganze ist mein Fehler Hab den Code auf der vorherigen Seite editiert
habe den code kopiert, selber fehler.
mein code:
[code]
Leaving XYZ
<?php
$allowed_urls=array(„http://www.xyz.de “, „http://xyz.de “, „“); // „“ sorgt für Annahme bei leerem Referer
$url = $_GET[‚url‘];
$ref = $_SERVER[‚HTTP_REFERER‘];
$error = „“;
if(!preg_match("!http://([a-zA-Z0-9.]+).[a-z]{2,3}/i", $url))
$error = „Fehlerhafter ausdruck“;
else if(!in_array( substr($ref, 0, strpos($ref, ‚/‘), $allowed_urls))
$error = „Keine externe Verlinkung!!!“;
else
echo ‚‘;
?>
Leaving XYZ
<?php
if($error)
echo "
$error
";
else
echo "
Sie werden in 5 Sekunden automatisch weitergeleitet, wenn sie nicht warten wollen klicken sie hier
";
?>
[/code]
edit: fehler ist jetzt in zeile 15, nicht mehr in 16
zu
[code]else if(!in_array( substr($ref, 0, strpos($ref, '/'), $allowed_urls)))[/code]
ich sollte echt schlafen gehen...
zu
ich sollte echt schlafen gehen…
Balmung
24. September 2008 um 18:29
27
in preg_match ist ein “!” statt ein “/” zu beginn des pattern
Balmung
24. September 2008 um 18:46
29
der Code oben:
preg_match("!http://([a-zA-Z0-9.]+).[a-z]{2,3}/i", … )
richtig
entweder:
preg_match("/http://([a-zA-Z0-9.]+).[a-z]{2,3}/i", … )
oder:
preg_match("!http://([a-zA-Z0-9.]+).[a-z]{2,3}!i", … )
sorry euch, das ich jetzt erst antworte… technische Probleme
danke euch, das jetzt alle probs gelöst sind, Riesen, riesen Dank
ach ja, @michi7x7 , schon wieder wach? Dann wünsch ich:
jw-lighting
ich habe jetzt mal mit meinem php sechzehntelwissen ein paar ereiterungen ingebaut, die funktionieren auch soweit. nur habe ich jetzt dauerhaft den error „Falscher Ausdruck“, obwohl der link der selbe ist wie vorher, wo es funktionierte.
wie krieg ich das weg? ollte mich auf php.net schon schlau lesen, aber irgendwie versteh ich nicht so ganz, was die von einem wollen
hier der link:
jw-lighting.bplaced.net/weiter.html
hier der code:
[code]
<?php
$allowed_urls=array(„http://www.jw-lighting.bplaced.net “, „http://jw-lighting.bplaced.net “, „http://jw-lighting.de.vu “, „http://www.jw-lighting.de.vu “, „“); // „“ sorgt für Annahme bei leerem Referer
$url = $_GET[‚url‘];
$ref = $_SERVER[‚HTTP_REFERER‘];
$error = „“;
if(preg_match("!http://([a-zA-Z0-9.]+).[a-z]{2,3}!i", $url))
$error = „Fehlerhafter Ausdruck“;
else if(!in_array( substr($ref, 0, strpos($ref, ‚/‘), $allowed_urls)))
$error = „Keine externe Verlinkung!!!“;
else
echo ‚‘;
echo „Weiterleitung zu $url“;
?>
<?php
echo "
Weiterleitung zu $url ";
if($error)
echo „
$error
“;
else
echo „
Sie werden in 5 Sekunden automatisch weitergeleitet, wenn sie nicht warten wollen klicken sie hier jw-lighting wünscht ihnen och einen schönen Tag
“;
?>
[/code]
wäre euch dankbar, wenn ihr diesen (hoffentlich letzten) Fehler finden würdet, und mir sagt, was ich ändern muss.
Danke schon im vorraus
Balmung
28. September 2008 um 16:47
33
if(preg_match("!http://([a-zA-Z0-9\.]+)\.[a-z]{2,3}!i", $url))
$error = "Fehlerhafter Ausdruck";
bedeutet:
Wenn $url mit diesem Muster übereinstimmt, kommt die Fehlermeldung: “Fehlerhafter Ausdruck”.
Muss aber genau umgekehrt sein:
Wenn $url mit diesem Muster NICHT übereinstimmt, kommt die Fehlermeldung “Fehlerhafter Ausdruck”
Damit die Wirkung umgekehrt wird, setze ein “!” direkt vor vor “preg_match”:
if(!preg_match("!http://([a-zA-Z0-9\.]+)\.[a-z]{2,3}!i", $url))
$error = "Fehlerhafter Ausdruck";
btw: ich Würde aus dem {2,3} ein {2,4} machen, da es auch Domains mit .info oder .home gibt, wenn auch recht selten (es gibt sogar eine mit 6 Zeichen ^^" Top Level Domain ).
mfg Balmung
thanks, langsam beginne ich php zu schecken, nächste anschaffung ist wohl ein php-buch.
leider doch wieder ein fehler… aber wir (hägrmm , IHR) schaffen das noch
link ist noch der selbe, code ist folgender:
[code]
<?php
$allowed_urls=array(“http://www.jw-lighting.bplaced.net ”, “http://jw-lighting.bplaced.net ”, “http://jw-lighting.de.vu ”, “http://www.jw-lighting.de.vu ”, “”); // “” sorgt für Annahme bei leerem Referer
$url = $_GET[‘url’];
$ref = $_SERVER[‘HTTP_REFERER’];
$error = “”;
if(!preg_match("!http://([a-zA-Z0-9.]+).[a-z]{2,3}!i", $url))
$error = “Fehlerhafter Ausdruck”;
else if(!in_array( substr($ref, 0, strpos($ref, ‘/’), $allowed_urls)))
$error = “Keine externe Verlinkung!!!”;
else
echo “”;
echo “Weiterleitung zu $url”;
?>
<?php
echo "
Weiterleitung zu $url ";
if($error)
echo “
$error
”;
else
echo “
Sie werden in 5 Sekunden automatisch weitergeleitet, wenn sie nicht warten wollen klicken sie hier jw-lighting wünscht ihnen och einen schönen Tag
”;
?>
[/code]
fehler ist:
[quote][code]Warning: Wrong parameter count for substr() in /users/jw-lighting/www/weiterleitung.php on line 15
Warning: Wrong parameter count for in_array() in /users/jw-lighting/www/weiterleitung.php on line 15
Weiterleitung zu http://www.thomann.de
Keine externe Verlinkung!!![/code][/quote]
Ist das mein Code???
wird zu
sollte jetzt (hoffentlich) gehen…
du sorry, aber ich weiss nicht mehr von em das jetzt ist. ist aber ja auch wurst
funzt, nur weiterleiten tut es nicht
thanks nochmal
Das kannst du sicher selbst beheben
das habe ich shon wieder in
geändert.
dann leitet er aber immer auf “autoforward_target.html” um