داگ لوید: گاهی اوقات هنگامی که ما در حال برنامه نویسی ما در انجام کارهای بنابراین معمولا، به طوری که اغلب، و بسیاری از مردم انجام idea-- و یا همان همان چیز، که آن را به یک نام. MVC دقیقا یک چنین چیزی است. این یک الگوی برنامه نویسی نامیده می شود. این نوع مانند یک بهترین شیوه که مقطر شده اند پایین توسط مردم در تلاش برای انجام کاری. در این مورد، پیاده سازی یک سیستم از صفحات که تعامل کاربر با در یک وب سایت پیچیده تر است. و آن را که انجام می شود معمولا آن را به عنوان یک استاندارد توصیه شده که افراد دیگر ممکن است به دنبال، و مجموعه ای بسیار خاص از راه وجود دارد. که می تواند این پارادایم دنبال کنید. بنابراین، MVC یک الگوی، و دلیل آن این است ما با استفاده از آن است که به جزئیات انتزاعی دور از کاربر. برخی از چیزهایی کاربر واقعا نمی نیاز به مراجعه کنید. آنها فقط می خواهم به یک تجربه کاربر خوب، و ما لازم نیست که به آنها دسترسی به هر فایل واحد است که وجود دارد در وب سرور ما، شاید. ممکن است برخی از فایل هایی که تنها وجود دارد استفاده می شود به تقویت تجربه کاربر، و بنابراین ما می توانید آن را انتزاعی و دور. ما از آنها می توانید پنهان به طوری کاربر می تواند با آنها کار می کنند، اما pages-- ما pages-- ما می دانم که چگونه به مقابله با آنها و آنها را و یا شاید نیاز، آنها، و یا چیزی شبیه به آن را می خواهد. انگیزه ی اولیه برای MVC امنیت داده است، به دلیل MVC معمولا می آید تا در زمینه کار با پایگاه داده. و در ما خاص می خواهید برای جلوگیری کاربران از پایگاه داده به طور مستقیم تأثیر. ما فقط می خواهیم به آن را انجام به طور غیر مستقیم، از طریق فیلتراسیون ما است. یا مطمئن شوید که همه چیز OK توسط ما انجام یک کمی از چک کردن خطا و یا تصحیح ایمنی قبل از ما ارسال آن به پایگاه داده، که در آن همه چیز می تواند به اشتباه، شاید واقعا اشتباه، اگر ما دقیق نیست. بنابراین MVC مخفف مدل نمایش کنترل. چه هر یک از این معنی است؟ در واقع، مدل پایگاه داده خود را است. این که در آن همه اطلاعات مهم برای سایت شما نام کاربری lives--، باری، رمز های عبور. و شما می توانید آن را به روز رسانی، به آن مراجعه کنید، همه چیز تقریبا شبیه به آن. شما می خواهم پرس و جو پایگاه داده، شما می خواهم بپرسم اطلاعات از پایگاه داده. که این همه از model-- اطلاعات سایت شما زندگی می کند. نظر نوع مانند تجربه کاربر. این صفحات که پس از دیدن این آنها اطلاعات درخواست کرده اند. بنابراین شاید آنها را انتخاب information-- ورود خود را که آنها را در یک کنترل انجام دهید، که ما در مورد در یک ثانیه صحبت کنید. آنها شاید انتخاب خود اطلاعات ورود به سیستم، و پایگاه داده تردید است. اطلاعات خواسته شده و کشیده از پایگاه داده باشد. و سپس یک بار کاربر به سیستم وارد شده در، آنها صفحه اصلی خود را ببینید. که یک دیدگاه است، OK؟ و پس از آن چیزی است که کنترل به نام منطق کسب و کار از سایت خود را. و منطق کسب و کار است یکی از کسانی که شرایط که مرتب سازی بر اساس wishy-washy-- را دوست دارم، چه منطق کسب و کار چیست؟ اساسا کسب و کار شما منطق PHP شما است. کاربر شما لازم نیست برای مشاهده مستقیم PHP خود را، اما پی اچ پی خود را احتمالا چه خبر به ساخت درخواست به پایگاه داده. بنابراین ورودی کاربران اطلاعات در یک نمایش، که یک کنترل در اختیار دارد. مانند، آنها را به یک فرم را تایپ کنید. چگونه است که فرایندهای فرم اطلاعات کنترل است. که PHP که در واقع است ساخت به درخواست به مدل. و سپس مدل می دهد اطلاعات به نظر، آن را می دهد به کاربر، شاید بهترین تجسم شرح زیر است. بنابراین در اینجا ما. در اینجا ما در سمت چپ مدل ما است، و آرایش پارادایم نمایش کنترل. چگونه کار می کند؟ us-- user-- باعث می شود یک درخواست به کنترل. ما این اطلاعات را انتخاب مانند یک فرم HTTP. بر این اساس، کنترل است کار این است که مطمئن که آنچه را که کاربر داده شده است است چیزی که مدل آسیب برساند. و به این ترتیب کنترل را به مطمئن شوید که همه چیز OK. آن را به نگاه بسیار با دقت. اگر هر گونه خطا وجود دارد، آن چیز متوقف به طوری که کاربر نمی تواند به مدل است. اما با فرض همه چیز OK و آن را پرس و جو معتبر، کنترل خواهد model-- پرس و جو آن را آن را می خواهم تا به اطلاعات است. مدل ارائه خواهد شد که اطلاعات به یک صفحه که مشاهده، آن را از آن که انتقال راه، و پس از آن نمایش به اطلاعات جمعیت درخواست از مدل. بنابراین، برای مثال، اگر ما در حال صحبت کردن در مورد ورود به صفحه فیس بوک خود، برای مثال. دیدگاه می شود داده ها که از مدل آمد که اشاره را به دوستان خود و اخبار تغذیه و یا چیزهای شبیه به آن، درست است؟ اما شما را نمی بیند کسی دیگری. شما می شود، بنابراین getting-- شما پرس و جو را انتخاب و شما را به بهانه ای model-- ورود من، شما را به صفحه ورود. با استفاده از کنترل اطلاعات ورود خود را به یک درخواست به مدل به مطمئن شوید که شما می توانید بگویید که شما هستند. مانند مدل، OK، بله، شما که به شما می گویند شما هستند، بنابراین اجازه دهید به شما خبر خود را به من بدهید. من شما را داده های خام را خبر خود را به نظر، و پس از آن نمایش آن را می سازد زیبا، آن را پردازش در راه که ما در حال به، نمایش استفاده می شود که اطلاعات را به کاربر. توجه داشته باشید که اتصال که موجود نیست در این دیاگرام. هیچ ارتباط مستقیمی وجود دارد بین شما و مدل. همیشه این بافر وجود دارد کنترل در سمت ورودی، و یک بافر از وجود دارد مشاهده در سمت خروجی. شاید شما یک خوب است فرد، و بنابراین شاید شما هر آسیب به نیست مدل است، اما شاید شما نیست. و یا شاید کسی وجود دارد که یک کاربر مخرب که شاید دوست می خواهم به آسیب پایگاه داده خود را، شاید حذف همه چیز را از پایگاه داده خود را، که می تواند بسیار گران است. بدیهی است، داشتن کاربران is-- داده ارزش به داشتن اطلاعات کاربر وجود دارد. و به این ترتیب اگر ما این بافر قرار داده نشده منطقه بین کاربر و database-- کاربر و همه چیز model-- ممکن است به رفتن را به خوبی برای ما. و پس از آن به مهم این پارادایم که در آن کاربر می تواند با پایگاه داده ارتباط برقرار کنید، مطمئن شوید، اما آنها را از طریق ما به برای انجام این. و این ایده با MVC اساسا. آن را تلاش برای پیاده سازی امنیت داده ها. آن را تلاش برای محافظت از مدل از سهوا یا عمدا کاربران مخرب. پس چه اتفاقی می افتد زمانی ما این پارادایم اعمال می شود؟ خب، ما جدا داده مورد نیاز از website-- ما model-- از منطق که پیاده سازی وب سایت ما functionality-- controller-- و از زیبایی شناسی ساده و صفحه قالب که شامل ما کاربران experience-- مشاهده است. این یعنی چی؟ خب، به این معنی شما می توانید نمایش ها قابل مشاهده به کاربر. شما می توانید مدل دور پنهان کردن. و controllers-- کاربر می توانید به طور مستقیم نمی شاید دستکاری. آنها لازم نیست برای دسترسی به کد PHP خود را. آنها فقط نیاز به یک فرم که در آن آنها می توانند مسائل را در تایپ کنید. بنابراین شاید فرم یک دیدگاه، کنترل پی اچ پی است که به صورت تسلیم به است، کنترل یک پرس و جو می کند به مدل، مدل کسب اطلاعات بیشتر می دهد به یک نمای مختلف است که نمایش اطلاعات به شما. برنامه های خود را می توانید دسترسی تمام منطق کسب و کار خود را، اما کاربران خود را به طور مستقیم منطق کسب و کار خود دسترسی داشته باشید. و به خصوص، شاید، تصویر قابل مشاهده این است شما تا به حال دریافت کرده ام خطای 403 ممنوع است. آیا تا به حال به یک وب رفته صفحه دیده می شود و 403 حرام است؟ این نوع مانند 404 یافت نشد. 403 ممنوعه معنی است که شما تلاش برای دسترسی به یک صفحه است که شما دسترسی به ندارد. شاید که سایت است با استفاده از جدایی MVC برای پنهان منطق کسب و کار خود را که نیاز به بر روی سرور وجود در برای صفحه به کار، اما نمی کند می خواهم شما را به طور مستقیم آن دسترسی داشته باشید. بنابراین شما ممکن است خطای 403 Forbidden دریافت کنید. و آن را حتی نمی خواهد مهم اگر شما به سیستم وارد شدند. هیچ کاربر می تواند این فایل PHP نقطه را لمس کند. آنها فقط می تواند لمس این یکی، و این one-- یکی می کند که شاید می توانید touch-- می توانید با فایل قفل شده پایین تعامل به طور غیر مستقیم بیش از کاربر. بنابراین، ما گاهی اوقات این مجوز را ببینید خطا، این 403 ممنوعه. چگونه اجازه تغییر ما تا که همه چیز می تواند و یا دیده نمی شود؟ هنگامی که ما این کار را به طور معمول به استفاده از فرمان لینوکس به نام chmod-- C-H-MOD. برای این کار، قالب زیبا simple-- سطح دسترسی، مجوز، و هر آنچه شما می خواهید فایل به کار بستن آن تغییر به. بنابراین، شاید شما می خواهم چیزی را ببینید مانند this-- سطح دسترسی 600 helpers.php. یا شاید شما می خواهم this-- سطح دسترسی را ببینید یک X به علاوه که شامل دایرکتوری. بود آیا این به معنای هر چند؟ بنابراین، دو راه مختلف وجود دارد که مجوز معمولا اعمال با استفاده از سطح دسترسی. اولین بار است که به نام روش اعداد مبنای هشت. این معمولا مجوز اعمال به سه دسته های مختلف از کاربران در همان زمان. بنابراین سطح دسترسی 711 فایل را شما اجازه می دهد حق خواندن، نوشتن، و اجرای فایل خود را، که اجازه می دهد others-- به طور خاص گروه خود را و world-- تنها فایل را اجرا کند. این چیزی است که این ترجمه به. عدد اول وجود دارد چیزی است که شما می توانید انجام دهید، عدد دوم است چه گروه خود را می توانید انجام دهید، و سوم چیزی است که جهان می تواند انجام دهد. هر کسی که به دیدن شما صفحه، که جهان است. این اعداد چه هستند در واقع برای ترجمه هر چند؟ بنابراین این واقع شبیه به این را ترجمه کنید. اگر اجازه است صفر، هیچ چیز می تواند رخ دهد. اگر آن را یکی، شما می توانید اجرای file-- که اجازه شما است. اگر آن را دو، شما می توانید فایل ارسال اما شما نمی توانید هر چیز دیگری را انجام دهد. اگر آن را سه، شما می توانید ارسال و اجرا کند. و غیره، به عنوان شما می توانید ببینید. و هفت معنی است که شما می توانید همه چیز را انجام دهد. پس چرا این اعداد مبنای هشت به نام؟ خوب، اگر شما در مورد آن فکر می کنم، در اینجا مانند noes و yeses، و اگر ما در مورد آنها فکر می کنم به عنوان جعبه قرمز و سبز، شاید که باعث می شود آن را کمی روشن تر است. اما اگر ما در مورد کسانی که فکر می کنم جعبه های قرمز به عنوان صفر و جعبه های سبز به عنوان آنهایی که، این در واقع فقط مجموعه از اعداد دودویی، درست است؟ 000 ترجمه به دهدهی 0؛ 001، دهدهی 1؛ 010 است اعشاری 2، و غیره. و بنابراین ما این هشت هشتی پاسخ به دلیل وجود تعداد هشت امکانات مختلف می باشد. هشت وجود دارد رقم های مختلف اگر ما صحبت کردن در مورد سه بیت از information-- بیت خواندن، نوشتن کمی، و بیت را اجرا کند. بنابراین در حال حاضر شما می توانید باینری صحبت می کنند، اعشاری، سحر و جادو، و مبنای هشت. بنابراین شما می دانید که چگونه برای برقراری ارتباط با کامپیوتر در چهار شماره های مختلف سیستم، به طوری که خیلی سرد است. بنابراین، علاوه بر هشت هشتی طرح کسب اجازه، وجود دارد همچنین اجازه نمادین طرح، که کمی متفاوت و معمولا بهترین استفاده را برای اعمال یا حذف اجازه در سراسر هیئت مدیره. بنابراین سطح دسترسی یک X فایل به علاوه ممکن است راست اضافه برای اجرای به هر سه دسته بندی ها از users-- خودتان، گروه خود را، و جهان است. که علاوه بخش اضافه کردن است. این حق را برای اجرا، که X است. و این واقعیت که آن را به تمام اعمال سه گروه از کاربران خواهد بود است. بنابراین this-- x-- به علاوه احتمالا به دقیقا همان سطح دسترسی 711 فایل، چرا که اگر شما را به عقب و در این طرح عدد هشت هشتی نگاه کنید، آنهایی که و نفره ما را حق برای اجرای یک فایل. پس این است که احتمالا همان. و شما می توانید از این استفاده کنید راهنمای مرجع برای چه چیزهای مختلف در ساختار سطح دسترسی نشستند نمادین هستند. اقلام سبز در اینجا خواهد بود که در آن تمام به عنوان مثال سبز رنگ یک ثانیه قبل بود. آبی آبی خواهد بود. نارنجی می شود رنگ نارنجی است. بنابراین شما می توانید همه چیز را به اعمال خود گروه، به دیگران، به کاربر، و یا به همه. شما می توانید به آنها را بخوانید، نوشتن و اجرای دسترسی، و شما می توانید اضافه یا حذف و یا اختصاص دقیقا یک مجموعه از مجوز استفاده از این مدل. چطور میتوانم بررسی ما چه طرح اجازه فایل است؟ قبل از اینکه ما آن را تغییر دهید، آن را احتمالا خوب به واقع مطمئن شوید چه مجوز های دسترسی فایل می باشد. یکی از راه های انجام این کار است که برای اجرای دستور ls اما فقط آن را کمی نیشگون گرفتن و کشیدن. بنابراین اگر من از نوع LS فاصله l-- که حروف کوچک l-- شاید من چیزی شبیه به این را خواهید دید. به نظر می رسد کمی مرموز، اما بخشی که ما واقعا در مورد مراقبت مسائل در سمت چپ بیش از وجود دارد است. که در واقع مشخص یک طرح اجازه فایل. و شما احتمالا می تواند بگوید به خاطر آن کردم R است، W، و X را پراکنده. کسانی که برای اولین بار از three-- نادیده گرفتن یکی از اولین برای یک ثانیه، که ما به شما دو برابر شود. کسانی که برای اولین بار از سه بعد first-- بنابراین دوم، سوم، چهارم و شخصیت که رشته 10 شخصیت مجوز است که شما داشته باشد. بنابراین ظاهرا من قادر به خواندن، نوشتن و اجرای پی اچ پی. من قادر به خواندن، نوشتن، و اجرای PHP WEBDEV، و من می توانم به خواندن و نوشتن test.php. گروه من می توانید این کار را. بنابراین ظاهرا با PHP و دایرکتوری PHP WEBDEV، گروه من می توانید به ارسال آنها نه چیز دیگر. و جهان می تواند هر چیزی را انجام دهد. بنابراین این فایل ها نیست در دسترس عموم و اگر من به محاکمه آنها دسترسی داشته باشید و من بود آپاچی در حال اجرا را به آنها در دسترس است، پس از آن من خطای 403 دریافت کنید. این یک شکست است. من سعی کردم به دسترسی به یک فایل، اما من اجازه انجام این کار را ندارد. و آنچه که شخصیت اول است؟ خوب، شما احتمالا می تواند برون یابی در اینجا است که D's را به دایرکتوری مراجعه و خط فاصله با اشاره به به اصطلاح "فایل های منظم." و شاید شما این را دیده ام زمانی که شما تلاش برای حذف یک فایل با استفاده از RM. شما را دیده ام پیام مرموز "حذف فایل به طور منظم" - در این مورد، آن می شود test.php. فایل به طور منظم درست چیزی است که یک دایرکتوری است. یک زن و شوهر از دیگران وجود دارد در اینجا، اما به طور کلی شما رفتن به D 'ها برای دایرکتوری و هیچ چیز را برای این عنصر برای اولین بار. اما این واقعا همه وجود دارد این است که آن. شما می توانید فایل را بررسی کنید مجوز با استفاده از دستور ls فاصله L، شما می توانید آنها را با استفاده از chmod تغییر دهید. و، البته، استفاده از these-- تغییر مجوز برای به اجرا درآوردن این پارادایم MVC به محافظت از داده ها در وب سایت خود و کاربران اجازه نمی دهد برای دسترسی به همه چیز، اما فقط چیزهای که آنها نیاز برای دسترسی به در برای صفحه خود به کار راه شما می خواهید آن را به کار. من داگ لوید هستم. این CS50 است.