Seite 1 von 1

Überprüfen ob URL mit img*****.imageshack.us/***/***/*** ...

Verfasst: So 21.Okt, 2007 17:26
von KeineAhnung
also, ich will überprüfen ob die url von imageshack.us stamt, denn ich will somit traffic klau von anderen webseitne verhindern, so sieht mein gescheiterter versuch aus:

Code: Alles auswählen

<?php
 if (preg_match('/^img[a-z0-9&\'\.\-_\+]+\.imageshack\.us\/([a-z0-9\-\/-])*?[a-z]+$/is', $_GET['img']))
 {
    echo 'Imageshack.us URL.';
 }
 else
 {
    echo 'Bild wurde woanders hochgeladen.';
 } 
?>
dies sind 3 imageshack beispeil urls:

http://img160.imageshack.us/img160/451/72938694ik3.png

http://img181.imageshack.us/img181/8588/55232485av3.gif

http://img139.imageshack.us/img139/3897/28288623ln0.jpg

Verfasst: So 21.Okt, 2007 17:53
von Giga4000
Versuch mal diesen (ungetestet):

Code: Alles auswählen

<?php
if (preg_match('/^http:\/\/img[0-9]{3}\.imageshack\.us\/img[0-9]{3}\/[0-9]*\/[0-9a-z]*\.(jpg|jpeg|gif|png)$/', $_GET['img']))
{
	echo 'Imageshack.us URL.';
}
else
{
	echo 'Bild wurde woanders hochgeladen.';
} 
?>

Verfasst: So 21.Okt, 2007 19:37
von KeineAhnung
[quote="Giga4000";p="77733"]Versuch mal diesen (ungetestet):

Code: Alles auswählen

<?php
if (preg_match('/^http:\/\/img[0-9]{3}\.imageshack\.us\/img[0-9]{3}\/[0-9]*\/[0-9a-z]*\.(jpg|jpeg|gif|png)$/', $_GET['img']))
{
	echo 'Imageshack.us URL.';
}
else
{
	echo 'Bild wurde woanders hochgeladen.';
} 
?>
[/quote]

yeah danke, funktioniert :)
es gitb aber imageshack server die 2stellig sind (also z.B. img12.imageshack.us)

Verfasst: So 21.Okt, 2007 20:08
von Giga4000
Da gibt es zwei Möglichkeiten:

Code: Alles auswählen

[0-9]{n1, n2}
Der voranstehende Ausdruck muss mindestens n1-mal und darf maximal n2-mal vorkommen.

Code: Alles auswählen

[0-9]*
Der voranstehende Ausdruck darf beliebig oft vorkommen.

Such dir eine aus ;)

Verfasst: So 21.Okt, 2007 20:46
von KeineAhnung
[quote="Giga4000";p="77736"]Da gibt es zwei Möglichkeiten:

Code: Alles auswählen

[0-9]{n1, n2}
Der voranstehende Ausdruck muss mindestens n1-mal und darf maximal n2-mal vorkommen.

Code: Alles auswählen

[0-9]*
Der voranstehende Ausdruck darf beliebig oft vorkommen.

Such dir eine aus ;)[/quote]

also das 2te geht, und beim ersten kommt dann immer keine imageshack url, ob 2 stellen oder 3 ^^

Verfasst: So 21.Okt, 2007 20:59
von Giga4000
Sorry, da ist ein Leerzeichen zu viel:

Code: Alles auswählen

[0-9]{2,3}

Verfasst: Mi 31.Okt, 2007 16:11
von Holger

Verfasst: Do 20.Dez, 2007 17:30
von KeineAhnung
[quote="Holger";p="78102"]http://www.oxpus.de/viewtopic.php?t=7412[/quote]


jo danke, aber es ist nicht fürs phpbb, deshalb ;)


kann mir einer mit diesem photobucket url prüfer helfen, habe folgendes geschrieben:

Code: Alles auswählen

function photobucket_url($url)
{
if (preg_match('/^http:\/\/[s\i][0-9]{1,2,3}.photobucket.com\/albums\/t[0-9]{1,2,3}\/[0-9a-zA-Z\_]\/[0-9a-z]\.(jpg|jpeg|gif|png|swf)$/', $url))
{
	return true;
}
else
{
	return false;
}
}
funktioniert aber nicht, wer kann mir helfen ?

eine photobucket url kann so aussehen:

http://(i oder s oder garnichts von beiden)(server nummer, 1-3 stellig).photobucket.com/albums/t(1-3 stellige zahl)/(username, darf a-z, A-Z, 0-9 und - und _ beinhalten)/(bildname, a-z, A-Z, 0-9, - und _).(endung, jpeg, jpg, png, gif, swf)

Verfasst: Mo 24.Dez, 2007 14:42
von Giga4000
Teste mal den:

Code: Alles auswählen

if (preg_match('/^http:\/\/[i|s]?[0-9]{1,3}\.photobucket\.com\/albums\/t[0-9]{1,3}\/[-_0-9a-zA-z]*\/[-_0-9a-zA-z]*\.(jpg|jpeg|gif|png|swf)$/', $url))

Verfasst: Mo 24.Dez, 2007 16:50
von KeineAhnung
ja geht vielen vielen dank, jetzt den für tinypic bekomm ich selber hin :D