lostyazilim
tr.link

php sorgu ekranı site adı olmadan sorgu engelleme yardım?

3 Mesajlar 900 Okunma
lstbozum
tr.link

xmcdeltat xmcdeltat WM Aracı Kullanıcı
  • Üyelik 25.12.2013
  • Yaş/Cinsiyet 43 / E
  • Meslek oto
  • Konum İstanbul Avrupa
  • Ad Soyad H** A**
  • Mesajlar 15
  • Beğeniler 5 / 1
  • Ticaret 0, (%0)
require_once('fonksiyon.php');
if(isset($_POST['link']) || isset($_GET['link'])) {
if(isset($_POST['link'])) { $url = $_POST['link']; }
else if(isset($_GET['link'])) { $url = $_GET['link']; }
$url = "http://www.".trim(eregi_replace('www.','', linkkes($url)));
if(!is_valid_url($url)){
echo '
Gecerli bir internet adresi yazmalisiniz...
';
} else {

$alexa = alexaRank($url);
?>



gecerli bir adres yazmalınız yazan yerde

sorgu sırasında
iki karekter yazılınca Gecerli bir internet adresi yazmalisiniz cıkıyor. ama üc karekter yazılınca script çalışıyor ve bozuluyor.örnek
http://www.as Gecerli bir internet adresi yazmalisiniz cıkıyor
http://www.asa yazınca çalışıyor bunu engellemek isityorum
http://www.asas yazınca da çalışıyor bunu engellemek isityorum

yani .com .net .org .info .tv .c uzantıları yazamadan çalışmasın istiyorum


fonksiyon dosyamda altta

// Link mi Değil mi ?
function is_valid_url($url = '') {

// SCHEME
$urlregex = "^(https?|ftp)\:\/\/";
$URLRegex = '/(?:(?$URLRegex.= '('; // Start capturing URL
$URLRegex.= '(https?|ftps?|ircs?):\/\/'; // Protocol
$URLRegex.= '\S+'; // Any non-space character
$URLRegex.= ')'; // Stop capturing URL
$URLRegex.= '(?:(?$URLRegex = '/(?:(?$URLRegex.= '('; // Start capturing URL
$URLRegex.= '(https?|ftps?|ircs?|http?|ftp?|irc?):\/\/'; // Protocol
$URLRegex.= '\S+'; // Any non-space character
$URLRegex.= ')'; // Stop capturing URL

// USER AND PASS (optional)
$urlregex .= "([a-z0-9+!*(),;?&=\$_.-]+(\:[a-z0-9+!*(),;?&=\$_.-]+)?@)?";

// HOSTNAME OR IP
$urlregex .= "[a-z0-9+\$_-]+(\.[a-z0-9+\$_-]+)*"; // http://x = allowed (ex. http://localhost , http://routerlogin )
$urlregex .= "[a-z0-9+\$_-]+(\.[a-z0-9+\$_-]+)+"; // http://x.x = minimum
$urlregex .= "([a-z0-9+\$_-]+\.)*[a-z0-9+\$_-]{2,3}"; // http://x.xx (x) = minimum
//use only one of the above

// PORT (optional)
$urlregex .= "(\:[0-9]{2,5})?";
// PATH (optional)
$urlregex .= "(\/([a-z0-9+\$_-]\.?)+)*\/?";
// GET Query (optional)
$urlregex .= "(\?[a-z+&\$_.-][a-z0-9;:@/&%=+\$_.-]*)?";
// ANCHOR (optional)
$urlregex .= "(#[a-z_.-][a-z0-9+\$_.-]*)?\$";

if (eregi($urlregex, $url)) { return true; } else { return false; }
}
?>


umarım derdimi anlatabilmişimdir. yardımlarınızı bekliyorum:
 

 

wmaraci
reklam

Onur89TR Onur89TR Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 04.12.2011
  • Yaş/Cinsiyet 35 / E
  • Meslek .
  • Konum İzmir
  • Ad Soyad ** **
  • Mesajlar 2376
  • Beğeniler 704 / 791
  • Ticaret 1, (%100)
require_once('fonksiyon.php');
if(isset($_POST['link']) || isset($_GET['link'])) {
if(isset($_POST['link'])) { $url = $_POST['link']; }
else if(isset($_GET['link'])) { $url = $_GET['link']; }
$urluzanti = pathinfo($url, PATHINFO_EXTENSION);
$url = "http://www.".trim(eregi_replace('www.','', linkkes($url)));
if((!is_valid_url($url)) || ($urluzanti=="")){
echo '
Gecerli bir internet adresi yazmalisiniz...
';
} else {

$alexa = alexaRank($url);
?>
xmcdeltat

kişi bu mesajı beğendi.

xmcdeltat xmcdeltat WM Aracı Kullanıcı
  • Üyelik 25.12.2013
  • Yaş/Cinsiyet 43 / E
  • Meslek oto
  • Konum İstanbul Avrupa
  • Ad Soyad H** A**
  • Mesajlar 15
  • Beğeniler 5 / 1
  • Ticaret 0, (%0)
Eline koluna sağlık işe yaradı saolasın
Onur89TR

kişi bu mesajı beğendi.

Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al