نمایش نتایج 1 تا 3 از 3

نام تاپیک: آیا پیاده سازی rule در مدلی که داریم با توجه به پیاده‌سازی آنها در پایگاه‌داده کار درستی است یا نه؟

  1. #1

    آیا پیاده سازی rule در مدلی که داریم با توجه به پیاده‌سازی آنها در پایگاه‌داده کار درستی است یا نه؟

    آیا پیاده سازی rule در مدلی که داریم با توجه به پیاده‌سازی آنها در پایگاه‌داده کار درستی است یا نه؟
    درسته که mysql محدودیت چک رو پیاده‌سازی نکرده و اعمال این ruleها در آن کار طاقت‌فرسایی است ولی اکثر پایگاه‌داده‌ها از جمله postgresql اون رو پیاده کردند ومیشه براحتی قوانینی رو شبیه اون چیزی که تو yii تعریف شده رو جدولمون اعمال کرد به عنوان مثال بگیم فیلد ایمیل مطابق با فلان پترن باشد.
    حالا اگه ما تمام قوانین رو تو پایگاه‌داده رو جدولمون اعمال کرده باشیم آیا باز لازمه تو مدلمون هم تعریف کنیم؟ آیا این باعث کند شدن برنامه (هر چقدر هم ناچیز باشد) نمی‌شود؟ اگر جواب مثبت است پس اعمال قوانین چه سودی دارد؟
    لطفا جواب بدین تا تایپیک خاک نخوره




  2. #2
    کاربر دائمی
    تاریخ عضویت
    دی 1389
    محل زندگی
    اصفهان
    سن
    33
    پست
    126

    نقل قول: آیا پیاده سازی rule در مدلی که داریم با توجه به پیاده‌سازی آنها در پایگاه‌داده کار درستی ا

    نقل قول نوشته شده توسط mojtaba.baghban مشاهده تاپیک
    آیا پیاده سازی rule در مدلی که داریم با توجه به پیاده‌سازی آنها در پایگاه‌داده کار درستی است یا نه؟
    درسته که mysql محدودیت چک رو پیاده‌سازی نکرده و اعمال این ruleها در آن کار طاقت‌فرسایی است ولی اکثر پایگاه‌داده‌ها از جمله postgresql اون رو پیاده کردند ومیشه براحتی قوانینی رو شبیه اون چیزی که تو yii تعریف شده رو جدولمون اعمال کرد به عنوان مثال بگیم فیلد ایمیل مطابق با فلان پترن باشد.
    حالا اگه ما تمام قوانین رو تو پایگاه‌داده رو جدولمون اعمال کرده باشیم آیا باز لازمه تو مدلمون هم تعریف کنیم؟ آیا این باعث کند شدن برنامه (هر چقدر هم ناچیز باشد) نمی‌شود؟ اگر جواب مثبت است پس اعمال قوانین چه سودی دارد؟
    لطفا جواب بدین تا تایپیک خاک نخوره

    سلام دوست عزیز
    همانطور که می دانید rule ها در yii علاوه بر اعمال کردن قوانین و محدودیت ها برای این طراحی شده اند که ما برای ورود اطلاعات از کاربر نیز محدودیت های لازم رو به عمل بیاوریم، ببینید، مثلا وقتی یک کاربر می خواهد آدرس ایمیل خود را وارد کند و ما نیز آن را در سمت سرور در دیتابیس ذخیره کنیم چرا باید اطلاعات به سمت سرور ارسال گردد بعد ما در سمت سرور بفهمیم که آدرس ایمیل مثلافرمت استاندارد ایمیل که مثلا aaa@Gmail.com است را ندارد؟ rule علاوه بر کنترل اطلاعات وارد شده توسط کاربر تا حدودی به شما کمک می کند تا از حملات sql injection نیز جلوگیری کنید یا مثلا محدودیت عددی بودن یک کادر را مشخص کنید و ....، پس rule ها تعریف می شوند نه فقط برای اعمال قوانین روی دیتابیس بلکه داده های ورودی از سمت کاربر را نیز می توانیم فیلتر کنیم و نگذاریم کاربر هر نوع داده ای رو سمت سرور ارسال کند مثلا بارها در rule ها دیده می شود چنین خطی خود Gii برای ما تولید می کند

    // name, email, subject and body are required
    array('name, email, subject, body', 'required'),
    // email has to be a valid email address
    array('email', 'email'),


    خب در اینجا که دیگه دیتابیس نداریم که rule روی آن اعمال کنیم یک صفحه ی static ساده هست! پس آیا می توانیم بگذاریم کاربر حتی کادر ها را خالی سمت ما ارسال کند؟ جواب خیر هست! پی کاربرد سوم rule ها مشخص شد اونم در جاهایی که بانک داده نداریم اما می خواهیم برای ورود اطلاعات محدودیت ایجاد کنیم.
    در پاسخ به سوال اینکه آیا تعریف rule صفحات را کند می کند یا نه شخصا نظرم اینه که یا شما باید WebApplication خود را به خطر بندازید و هر داده ای را از کاربر قبول کنید حتی sql injection یا rule تعریف کنید که باز هم تاکید می کنم این نظر شخصی منه انقدر کند نیست که ازش چشم پوشی کرد، ببینید yii یک فریم ورک ایزوله شدست، استاندار خود را کسب کرده است، پس انقدر می ارزه که بخواید سایت را کند کنید اما امنیت سایتتون را بالا ببرید که این کاربرد چهارم تعریف rule می باشد.
    در پایان متذکر بشوم که این نظر شخصی من بود شما یک سری به این webapplication بزنید این webapp رو من با yii طراحی کردم، ببینید آیا کند شده یا مشکلی داره؟ این webapp بالغ بر 2000 فایل PHP پشتش هست که اگر yii و امکاناتش نبود واقعا به مشکل بر می خوردم! پس از طراحی و ساخت این پروژه به قدرت yii پی بردم. تا یادم نرفته باید حتما با مرورگر Chrome 23بازکنید، هنوز وقت نشده کاملش کنم.
    موفق و سر بلند باشید.

  3. #3

    نقل قول: آیا پیاده سازی rule در مدلی که داریم با توجه به پیاده‌سازی آنها در پایگاه‌داده کار درستی ا

    ممنون از جواب کاملتون
    قانع شدم
    سایت رویش وب هم با توجه به درخواست نام کاربری فقط صفحه اولش رو دیدم که خیلی قشنگ بود و با توجه به فایلهای جاوا اسکریپتش ظاهرا سامانه انتخاب واحد هستش.
    در ضمن یه سوال دیگه دز مورد yii دارم که واسش تایپیک جدا باز می‌کنم

تاپیک های مشابه

  1. پاسخ: 0
    آخرین پست: جمعه 22 اردیبهشت 1391, 01:01 صبح
  2. درخواست ایده برای پیاده سازی رابط پایگاه داده با LINQ
    نوشته شده توسط Alen در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 0
    آخرین پست: چهارشنبه 06 خرداد 1388, 22:01 عصر
  3. طراحی و پیاده سازی پایگاه داده با دلفی
    نوشته شده توسط مریم رودباری در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 8
    آخرین پست: سه شنبه 13 شهریور 1386, 20:47 عصر
  4. آیا دستور دیگری شبیه به group by داریم
    نوشته شده توسط sma_mohseni در بخش MySQL
    پاسخ: 5
    آخرین پست: دوشنبه 23 مرداد 1385, 14:49 عصر
  5. آیا به کتاب فاکس پرو دیگر نیازی داریم
    نوشته شده توسط rezaTavak در بخش Foxpro
    پاسخ: 17
    آخرین پست: پنج شنبه 27 بهمن 1384, 12:53 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •