Php Navigasyon olsun

2 Cevap

Gidivermek

Benim sitelerinden birinin üzerinde navigasyon için GET yöntemini kullanın. Sorun bazı kirli Einstein başka bir etki alanı çağıran bir bağlantı oluşturmak olmasıdır:

http://www.mywebsite.com?products=http%3A//www.dirtyeinstein.com?fishform.inc

I kötüye bu tür engellemek için kullanabileceğiniz bir komut dosyası var.

Teşekkür ederim.

2 Cevap

sadece istenen sayfayı varsa sizin komut kontrol gibi

// allowed get parameters for product
$whiteList = array(
   'tvs',
   'toys',
);

$menu = $_GET['products'];

if (! in_array($menu, $whiteList) {
   // forward to inde
} else {
  // forward to requested page
}

Böyle navigasyon kullanıyor musunuz?

http://www.mywebsite.com?products=book.php

Eğer kimseyi yönlendirme değilseniz gibi bir şey kullanmak istemiyorsanız, demek

http://www.mywebsite.com?products=http%3A//www.myanotherdomain.com

O "http" ile başlarsa o zaman sadece dize denetleyin

Yardımcı olabilir: http://nl2.php.net/manual/en/function.substr.php

Ex:

$str = $_GET['products'];
if (strlen($str) > 4 && if (substr($str, 0, 4) == "http")
{
   echo "You dirty Einstein!! Get out!";
   return;
}