omid.onix
(Omid Onix)
1
[right]سلام
[/right]
$model->attributes=$_POST['Users'];
[right]
به صورت ایمن توو دیتابس با ذخیره بشه post میخواستم بدونم بخوام اطلاعات آرایه
باید چکار کنم
واین که اگر تو همون مدل قبل ذخیره شدن بخوام اول چک بشه امنیتش چی
یک مثال بزنید ممنون میشمbeforeSave باهمون متد
در واقع میخوام
injrction
و
xss
هم چک شود
کلا درست و ایمین ذخیره بشه
ممنونم
[/right]
aamiri
(Yz248)
2
[rtl][font="Tahoma"]
سلام
در کل برای جلوگیری از این موارد راه های متعددی هست.
یه کتابی به زبان فارسی از طرف آقای برجیان درباره YII نوشته شده و از همین سایت می تونید دانلود کنید که مطالب خوبی در این زمینه توش هست.
کتاب yii-guide-1.1.14.pdf که همراه با فایل Documentation توزیع میشه هم توضیحات کاملی در این موارد داره. البته به زبان انگلیسی اما ساده.
در خصوص SQL ها امکاناتی مثل استفاده از جانگهدارها (:id) هست که در بخش where کویری به شما اجازه میده جلوی sql injection رو بگیرید.
در Active record هم قابل استفاده هست
[/font][/rtl]
$post=Post::model()->find(’postID=:postID’, array(’:postID’=>10));
$user = Yii::app()->db->createCommand()
->select(’id, username, profile’)
->from(’{{user}}’)
->where(’id=:id’, array(’:id’=>$id))
->queryRow();
[rtl][font="Tahoma"]
یا مثلا در قسمت components در فایل /config/main.php موارد زیر رو اضافه کنید تا در فرم ها از XSS چلوگیری بشه[/font][/rtl]
'components'=>array(
'request'=>array(
'enableCsrfValidation'=>true,
'csrfTokenName'=>'yii_csrf_token',
'enableCookieValidation'=>true,
),
),
omid.onix
(Omid Onix)
3
[right]
اول متشکرم از جوابتون
ولی من منظورم ذخیره کردن هست
در مورد خواندن میدونم ولی میخوام موقع ذخیره کردن فرم در دیتابیس هم مقادیر اول چک بشوند و ایمین در جدول ها ذخیره بشن
ممنون میشم اگه در این مورد راهنماییم کنید
[/right]
omid.onix
(Omid Onix)
4
[right]
واقعا راهی نیست کسی به من بگه؟؟؟؟؟؟
[/right]
خب توی beforeSave همه رو مثلا پاکسازی کن یا اصلا اینکارو کن
به جای
$model->attributes=$_POST['Users'];
بنویس
$model->attributes=array_map('strip_tags',$_POST['Users']);
aamiri
(Yz248)
6
[rtl][font="Tahoma"]برای کنترل و اعتبارسنجی دادههای فرم قبل از ذخیره سازی باید از متد rules که داخل فایل مدل شما قبلا توسط gii ایجاد شده
استفاده کنید. در همون کتاب هایی که معرفی کردم راهنمایی کامل موجوده.
در خصوص موارد پیچیده تر هم دوستمون در پست بالا توضیح دادند.[/font][/rtl]
/**
* @return array validation rules for model attributes.
*/
public function rules()
{
}