Ben şu anda bir şirket için ve ben Sorgu dize yoluyla iletilen kontrolörü / yöntemi (bulamıyorum) RFC geçerli karakter olduğundan emin olmak gerekir güvenlik nedeniyle bir MVC Stil çerçeve üzerinde çalışıyorum.
Ben PHP yorumlayıcısı tarafından izin ne göre sınıf isimleri sterilize / doğrulamak gerekiyor
Örneğin:
class SomEFunk__YClAssName extends Controller
{
}
I SomEFunk__YClAssName
doğrular regex çeşit ihtiyaç ve ihtiyaç eğer sterilize! Bu yöntemleri de aynı ilkeler olduğunu.
Gibi dikkate alınması gereken birkaç şey var
- Başlangıcında Sayısal
- Sadece hayvanlar çiziyor
- Bazı PHP Özel Karakterler izin verilecek.
Bu veya olası ifadeler üzerinde herhangi bir bilgi gerçekten yararlı olacaktır.
İşte benim Router Kanununun bazı bunu uygulamak gerekiyor nereye kadar görmeniz mümkündür:
private function prepareQueryString()
{
if(strlen($this->query_string) == 0)
{
return;
}
//Remove [ending|starting|multiple] slashes
$this->query_string = preg_replace('/^\/+|\/+$|\/(?=\/)/', '', $this->query_string);
foreach(explode('/',$this->query_string) as $Key => $Value)
{
if($Key == 0)
{
$Controller = $this->AssignController($Value);
}
if($Key == 1)
{
$this->AssignMethod($Value);
}else
{
$this->AssignParam($Value);
}
}
//Build RouterVar stdClass
}
public function AssignController(String $Controller)
{
if(!empty($Controller))
{
//Sanitize
}
}
public function AssignMethod(String $Method)
{
if(!empty($Method))
{
//Sanitize
}
}
public function AssignParam(String $Param)
{
$this->params[] = $Param;
}
Sen çek gerekli comment "sterilize" göreceksiniz.