Link Weiterleitung

pHpCursez

Grünschnabel
Hi leude,

ich suche jetzt schon soooooo lange ein weiterleitungs script, das gibts garnicht !

ACHTUNG : nicht das ihr jetzt alle denkt: "man ist der blöd, dass findet doch jeder Tro***e ! "...

Nein, es soll ja nicht irgendein redirect Script sein, ne

BESCHREIBUNG:

PHP-Script, dass nach dem Aufruf eines externen Links anzeigt, das die Website hinter dem Link nicht zur eigenen Website gehört.
Z.B. dass man in 5 Sekunden weitergeleitet wird...

bin ECHT verzweifelt... ich weis ja noch nichtmal, ob das mit php oder cgi oder was weis ich noch ausgeführt werden kann !

daaaaanke an alle die mir weiterhelfen können...
carlos
 
Dann machst du eine separate Datei weiterleitung.php, die mit meta-Angabe nach fünf Sekunden zu einer per GET oder POST übergebenen URL weiterleitet und die entsprechende Nachricht anzeigt. So schwer ist das wirklich nicht.
 
hmmm Get und Post ?

ich habe leider keine ahnung wie ich das anstellen könnte...

weis zwar, wie ich ein script korrigieren kann, aber selber ein script schreiben... da habe ich zuwenig ahnung von php !

wie würde das script denn in etwa so aussehen?

greez
carlos
 
PHP:
<html>
<head>
<meta http-equiv="refresh" content="5; URL=<?=$_GET['url'] ?>" />
<title>Sie werden in wenigen Sekunden weitergeleitet...</title>
</head>
<body>
Bitte beachten Sie, dass die aufgerufene Seite nicht Bestandteil unseres Webauftrittes ist.<br />
Wir &uuml;bernehmen daher in keiner Weise Verantwortung bez&uuml;glich deren Inhalte!<br /><br />
<a href="<?=$_GET['url'] ?>">Klicken Sie hier</a> falls Sie nicht binnen 5 Sekunden automatisch weitergeleitet werden.
</body>
</html>

Aufruf über dateiname.php?url=http://xyz.bla.de

MfG.
 
na doll, da war einer schneller als ich ;)
aber das macht nichts, weil meins doch ein bisschen anders ist ;)

PHP:
<?php
echo '	<html>';
if (isset($_GET['url'])) 
		{ 
			$url = $_GET['url'];
			$delay = "5"; //	Wartezeit in Sekunden		
			$url = ereg_replace("http://","",$url); 
			echo '	<head><meta http-equiv="refresh" content="'.$delay.'; URL=http://'.$url.'"></head>
							<center>Du verläst nun unsere Webseite<br> 
							Du wirst in '.$delay.' Sekunden weitergeleitet<br>	
							<a href="http://'.$url.'">Falls die Weiterleitung nicht funktioniert, klicke bitte hier</a></center>';
		}
			else
		{
			echo ' 	<center>Dieses Skript kann so nicht verwendet werden.<br>
							Hör bitte auf daran rumzuspielen, bevor was kaputt geht.</center>';
		}	
		
		echo $link;
		echo '</html>';
?>

dem Skript ist es egal, ob der link mit http:// beginnt oder nicht
wenn einer das skript ohne link aufruft, kommt ne fehlermeldung ;)

dateiname.php?url= (link)

fehlermeldung: http://www.haxxxor.de/test/linker.php
weiterleitung: http://www.haxxxor.de/test/linker.php?url=http://www.google.de
oder auc: http://www.haxxxor.de/test/linker.php?url=www.google.de
 
Zuletzt bearbeitet:
Seit wann herrscht hier denn solch ein Konkurrenzdruck *lol*

Also die Zusicherung, dass das Skript nicht ohne Parameter aufgerufen wird, kann ich ja noch akzeptieren, obwohl mir das als HP-Besitzer ziemlich egal wäre, was passiert wenn jemand so blöde ist und herumprobiert wohin er da wohl weitergeleitet wird ^^.
Wenn man unbedingt Fehler abfangen wollte, müsste man außerdem die übergebene URL auf Existenz prüfen =)

Das mit dem 'http' ist so eine Sache... es ist sicher bis zu einem gewissen Grade vorteilhaft, aber wenn jemand z.B. auf einen gesicherten Bereich (https) verlinken will, oder auf einen ftp-Download, tritt ein Fehler auf.


Ich poste an dieser Stelle dennoch 2 überarbeitete Versionen meiner Weiterleitungsdatei:


1.) Mit Fehlermeldung, falls kein Parameter übergeben wird:

PHP:
<html>
<?php if(isset($_GET['url'])): ?>
<head>
<meta http-equiv="refresh" content="5; URL=<?=$_GET['url'] ?>" />
<title>Sie werden in wenigen Sekunden weitergeleitet...</title>
</head>
<body>
Bitte beachten Sie, dass die aufgerufene Seite nicht Bestandteil unseres Webauftrittes ist.<br />
Wir &uuml;bernehmen daher in keiner Weise Verantwortung bez&uuml;glich deren Inhalte!<br /><br />
<a href="<?=$_GET['url'] ?>">Klicken Sie hier</a> falls Sie nicht binnen 5 Sekunden automatisch weitergeleitet werden.
</body>
<?php else: ?>
<body>
Es wurde keine gültige URL übertragen.<br />
<a href="<?=$_SERVER['HTTP_REFERER'] ?>">zur&uuml;ck</a>
</body>
<?php endif; ?>
</html>

Und 2. leitet auf eine vorgeschriebene Seite weiter, wenn kein Parameter übergeben wird:

PHP:
<?php 

  // Adresse für Standardweiterleitung:
  $default = 'http://www.tutorials.de'; 
  
  if(isset($_GET['url']))
    {
  
?>
<html>
<head>
<meta http-equiv="refresh" content="5; URL=<?=$_GET['url'] ?>" />
<title>Sie werden in wenigen Sekunden weitergeleitet...</title>
</head>
<body>
Bitte beachten Sie, dass die aufgerufene Seite nicht Bestandteil unseres Webauftrittes ist.<br />
Wir &uuml;bernehmen daher in keiner Weise Verantwortung bez&uuml;glich deren Inhalte!<br /><br />
<a href="<?=$_GET['url'] ?>">Klicken Sie hier</a> falls Sie nicht binnen 5 Sekunden automatisch weitergeleitet werden.
</body>
</html>
<?php

    }
  else
    header('Location: '.$default);
  
?>

So, damit habe ich heute mein produktives Pensum erfüllt =)

MfG.
 
ich bin sprachlos...

verdammt, hatte alles auf das erste vorgeschlagene "Lösungsscript" gesetzt ... und meine ganzen ausgehenden links danach umgeschrieben !

und jetzt muss ich nochmal alles umschreiben *heul :p

spaaas nein... also wenn ich solche mühen sehe, dann geht mir ja das herz so auf, dass ich sogar diese tipparbeit nochmal aufnehmen werde :eek:

ich danke euch beiden, für eure so ausgearbeiteten vorschläge !

greez
carlos
 
Zurück