Yii Framework Forum: امنیت در ذخیره اطلاعات - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

امنیت در ذخیره اطلاعات امنیت ذخیره اطلاعات در دیتابیس

#1 User is offline   omid.onix 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 9
  • Joined: 21-September 13

Posted 19 June 2014 - 01:51 AM

سلام

$model->attributes=$_POST['Users'];


به صورت ایمن توو دیتابس با ذخیره بشه post میخواستم بدونم بخوام اطلاعات آرایه
باید چکار کنم
واین که اگر تو همون مدل قبل ذخیره شدن بخوام اول چک بشه امنیتش چی
یک مثال بزنید ممنون میشمbeforeSave باهمون متد
در واقع میخوام
injrction
و
xss
هم چک شود
کلا درست و ایمین ذخیره بشه
ممنونم

0

#2 User is offline   amiri 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 77
  • Joined: 08-January 12

Posted 19 June 2014 - 02:34 AM


سلام
در کل برای جلوگیری از این موارد راه های متعددی هست.
یه کتابی به زبان فارسی از طرف آقای برجیان درباره YII نوشته شده و از همین سایت می تونید دانلود کنید که مطالب خوبی در این زمینه توش هست.
کتاب yii-guide-1.1.14.pdf که همراه با فایل Documentation توزیع میشه هم توضیحات کاملی در این موارد داره. البته به زبان انگلیسی اما ساده.
در خصوص SQL ها امکاناتی مثل استفاده از جانگهدارها (:id) هست که در بخش where کویری به شما اجازه میده جلوی sql injection رو بگیرید.
در Active record هم قابل استفاده هست

$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();



یا مثلا در قسمت components در فایل /config/main.php موارد زیر رو اضافه کنید تا در فرم ها از XSS چلوگیری بشه


	'components'=>array(
		'request'=>array(
				'enableCsrfValidation'=>true,
				'csrfTokenName'=>'yii_csrf_token',
				'enableCookieValidation'=>true,
		),
	),

1

#3 User is offline   omid.onix 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 9
  • Joined: 21-September 13

Posted 19 June 2014 - 03:42 AM


اول متشکرم از جوابتون

ولی من منظورم ذخیره کردن هست
در مورد خواندن میدونم ولی میخوام موقع ذخیره کردن فرم در دیتابیس هم مقادیر اول چک بشوند و ایمین در جدول ها ذخیره بشن
ممنون میشم اگه در این مورد راهنماییم کنید



0

#4 User is offline   omid.onix 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 9
  • Joined: 21-September 13

Posted 19 June 2014 - 07:57 AM



واقعا راهی نیست کسی به من بگه؟؟؟؟؟؟


0

#5 User is offline   rezaonline.net 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 115
  • Joined: 20-June 12

Posted 19 June 2014 - 02:00 PM

خب توی beforeSave همه رو مثلا پاکسازی کن یا اصلا اینکارو کن

به جای

$model->attributes=$_POST['Users'];



بنویس

$model->attributes=array_map('strip_tags',$_POST['Users']);


rezaworkshop.ir - rezaonline.net/blog
php5 , mysql , html5 , css3 , jquery + ajax
0

#6 User is offline   amiri 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 77
  • Joined: 08-January 12

Posted 20 June 2014 - 09:42 AM

برای کنترل و اعتبارسنجی داده‌های فرم قبل از ذخیره سازی باید از متد rules که داخل فایل مدل شما قبلا توسط gii ایجاد شده
استفاده کنید. در همون کتاب هایی که معرفی کردم راهنمایی کامل موجوده.
در خصوص موارد پیچیده تر هم دوستمون در پست بالا توضیح دادند.

	/**
	 * @return array validation rules for model attributes.
	 */
	public function rules()
	{
	}

0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users