2012-09-06 120 views
0

我有一個模型User 假設我已經從模型yii模型save()方法是否安全?

$x = new User; 

創建了一個新對象,並從_POST變種

$x->lastName = $_POST["last_name"]; 

設置其屬性,如果我做了

$x->save(); 

它會從SQL注入安全嗎?

謝謝

+0

哇,好的,這個函數的代碼在哪裏?另外,你爲什麼不只是測試它?我認爲這不適合SO。 – rook

+0

該代碼是一個PHP框架,需要花費數小時才能完成,當你距離截止日期太近時,你甚至沒有一個小時來測試SQL注入或尋找代碼,而且我不是在你使用SQL注入筆測試時,這很好,這就是爲什麼我向專家提出這個問題的原因,並且作爲一名專家,你不必因爲你理解得不好而忽視了一個問題。 –

+0

它會花費更少的時間來測試你的自我。應該花費不到1分鐘的時間來查看單引號或雙引號是否會導致錯誤。你先生得到一個信任的SO而不是你自己的能力。 – rook

回答

2

Yii使用PDO進行連接,所以是的,這對於SQL注入來說是安全的。

但是XSS並不安全。 http://www.yiiframework.com/doc/guide/1.1/en/topics.security http://www.yiiframework.com/wiki/275/how-to-write-secure-yii-applications/#hh11

+0

它可能不正確地使用PDO,仍然容易受到sql注入的影響。 – rook

2

當你在第一$model->save()模型的驗證踢,讓您的變量將取決於在模型中定義的驗證規則進行驗證,如果有錯誤,那麼該模型將不會被保存,值不會進入你的分貝,因此沒有注射。

驗證規則是在模型的規則數組中定義的,已經有很多內置的驗證類,這裏給出了驗證器類的入門指南。您也可以定義your own validators

所以只要你是消毒(或驗證)你的投入,你很好去。

相關問題