Yii'de Xss, Sql Injection Vb. Şeylerden Korunmak Için Ne Yapmalıyız.

Arkadaşlar merhabalar. Yii’de ilk uygulamamı geliştirmeye başladım. Takıldığım yerleri de sizlerin desteğiyle aşıyorum. Bildiklerimin üstüne sürekli birşeyler katmaya başladım sayenizde. Emeği geçen herkese teşekkür ediyorum.

Başlıkta da belirttiğim gibi yii ile formlar oluşturup post ediyorum ancak merak ettiğim bir nokta var XSS, Sql injection vb. saldırılardan korunmak için form elementlerine uygulamamız gereken herhangi bir ek parametre var mı yoksa yii bizim yerimize kendisi yapıyor mu?

sql lerde dışarıdan aldıgın parametreleri direk sql in içine degil de parametre olarak eklersen yii bunu kontrol ediyor.


findAll(mixed $condition='', array $params=array ( ))

condition kısmına degil olması gerektigi gibi paramtere kısmına parametreleri eklemen yeterli

İlgin için teşekkürler kodla örneklemen mümkün mü acaba?

Arkadaşlar en son anlaşılır bir kaynaktan buldum xss’den korunmak için aşağıdaki ifadeyi kullanmak gerekiyormuş anladığım kadarıyla. Bilgi yanlışsada lütfen uyarın doğrusuyla düzeltelim.


CHtml::encode()

Bu kullanımı örneklendirecek olursak aşağıdaki yapıyı bakabiliriz. Birinci sonuçta ( encode’a tabi tutulmadan) html tagı işlerinirken, ikinci sonuçta ( encode kullanılan) html tagı işleme konulmadan htmlden arındırılmış bir yapı ortaya çıkıyor.


;

echo CHtml::beginForm();

echo CHtml::textArea('username');

echo "<br/>";

echo CHtml::submitButton();

echo CHtml::endForm();


echo "<br/><br/>Sonuç: <br/>";

echo $username;



// HTML çıktısı

Xss örneği deneme mesajım


echo "<br/><br/>Sonuç: <br/>";

echo CHtml::encode($username);

// HTML çıktısı

<b> Xss örneği deneme mesajım </b>