rendered paste body<pre>
<?PHP
#######################################################################
# Copyright (C) Fabian Lenczewski, Hood Wink Studio, 2006 #
#######################################################################
# Contact: #
# URL: fabian.art.pl #
# E-mail: info@fabian.art.pl #
# Phone: +48 502 328 063 #
#######################################################################
# Proste filtrowanie prefiksu adresu internetowego - ver beta.62 day #
#######################################################################
$time = EXPLODE(" ",MICROTIME());
$time1 = $time[1] + $time[0];
$url = $_GET[url];
/*------------------------------------------------------------------
KONFIGURACJA
------------------------------------------------------------------*/
$cfg = array (
url => array (
exist => true,
max_lenght => 255,
default_prefix => 'http://',
prefix => '^http://|^https://',
),
msg => array (
err_url_to_long => 'Podany adres jest za długi.',
err_url_empty => 'Proszę podać adres strony (adres.php?url=ADRES).',
err_404 => '<b>404</b> - Nie można otworzyć strony.',
),
);
/*------------------------------------------------------------------
AGLORYTM
------------------------------------------------------------------*/
IF(ISSET($url) and !empty($url))
{ $url = htmlspecialchars(stripslashes($url));
IF(strlen($url) > $cfg[url][max_lenght])
ECHO $cfg[msg][err_url_to_long];
ELSE(!ereg($cfg[url][prefix], $url))?$url = $cfg[url][default_prefix]
. EREG_REPLACE('[[:alpha:]]*://', '', $url):PRINT('');
IF(TRUE == $cfg[url][exist])
(!@FOPEN($url, 'r')) ? PRINT($cfg[msg][err_404]) : PRINT($url);
ELSE PRINT($url);
} ELSE ECHO $cfg[msg][err_url_empty];
//-------------------------------------------------------------------
echo "<br>\n";
$time = EXPLODE(" ",MICROTIME());
echo ROUND($time[1] + $time[0] - $GLOBALS[time1], 5);
?> sec.
<b>Zalozenia</b>
• dodawanie przedrostka http:// przed domena, jezeli takiego przedrostka nie posiada
• okreslenie maksymalnej dlugosci adresu strony
• filtrowanie adresu z niechcianych lub niepozadanych znakow
• skrypt pomija dodawanie w przypadku napodkania przedrostka typu: http:// lub https://
• przy blednych wpisach np. htttp://, ht:// itp., przedrostek jest najpierw usuwany, nastepnie dodawany przedrostek standardowy
• opcja sprawdzania czy podana strona istnieje
• prosta obsluga bledow
</pre>