در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

دوره آموزشی برنامه نویسی MVC در PHP قسمت دوم

سلام به همگی دوستان، تو قسمت قبل یه توضیح کوتاه درباره MVC دادم و استارت برنامه وبمونو زدیم چندتا فایل هم ایجاد کردیم و رسیدیم به مبحث .htaccess ، خوب یه توضیح درباره این فایل میدم و بعد با این فایل نرم افزار Apache روی سرور تنظیم میکنیم .فایل .htaccess واسه کانفیگ سرورهایی کارایی داره که روی سرور ، Apache اجرا شده باشه و با این فایل میتونیم توابع و ویژگیهایی Apache فعال یا غیرفعال کنیم مثلا تغییر مسیر، محافظت از رمز عبور ، محدودیت IP و ... . زمانی که این فایل روی یه دایرکتوری میزاریم Apache به دنبال این فایل میگرده، پس باید این فایل به همین صورت یعنی .htaccess بنویسیم بدون چیزی کم یا زیاد . یه مثال میزنم، زمانی که برنامه وب ما به خاطر اشتباه کاربر یا برنامه نویس با خطا برخورد میکنه، Apache این خطا رو تو یه صفحه با شماره خطا و توضیح خطا به ما نشون میده و ما نمیخوایم هر وقت که با خطا روبرو میشیم این عمل صورت بگیره، حالا یا برنامه نویس صلاح میبینه که این خطا رو نشون بده با این تفاوت که خود برنامه نویس میاد یه صفحه خطا ایجاد میکنه و زمانی که خطا رخ میده صفحه خطایی که خودش تولید کرده بجای صفحه خطا Apache میزاره (یعنی مسیر URL تغییر میده) یا اینکه اصلا خطایی نمایش داده نمیشه، که این کار بوسیله ErrorDocument انجام میشه بصورت زیر.

ErrorDocument 401 http:////127.0.0.1//PHP-MVC//Index

خوب این کد باید توی فایل .htaccess بنویسیم، که در اینجا موقعی که خطای 401 رخ میده بجای نمایش صفحه خطا، برنامه Redirect (تغییر مسیر) میکنه به صفحه index برنامه و صفحه index نمایش داده میشه .خوب حالا واسه ابتدای کار یه فایل .htaccess توی پوشه اصلی برنامه وبمون میسازیم .نکته : زمانی که فایل .htaccess توی یه فولدر قرار میدیم هر تنطیمی که انجام داده باشیم روی فایل ها و زیرفولدرهای همان فولدر هم اعمال میشه .

1) ErrorDocument : زمانی که خطا رخ میده کاربر به مسیر مورد نظر هدایت میکنه .

ErrorDocument 404 //error_pages//404.html

404 : موقعی که فایلی رو پیدا نمیکنه این خطا رخ میده .

403 : زمانی که خطای Forbidden رخ میده .

401 : Authorization Required

500 : Internal Server

400 : Bad request

2) Redirects : موقعی که بخوایم کاربر از یه مسیر به مسیر دیگه منتقل کنیم، مثلا قبلاً یه صفحه توی وب سایتمون داشتیم و بجای این صفحه یه صفحه جدید درست کردیم و حالا یه کاربری میخواد صفحه قدیمی باز کنه، با Redirects میتونیم کاربر به صفحه جدید انتقال بدیم .

Redirect //olddir// http:////www.yourdomain.com//newdir//index.html

3)یکی از مهمترین کاربرد های فایل .htaccess قابلیت password protection (محافظت از رمزعبور) هست .

زمانی که میخوایم روی یه فولدر یا تعداد بیشتری فولدر رمزعبور بزاریم تا فقط افرادی که دارای رمز عبور هستند بتونن این فولدر باز کنن، این قابلیت بدرد بخور هست، بصورت زیر انجام میدیم .

یه مثال میزنم، من یه فولدر به نام private دارم که میخوام فقط یوزری بنام admin بتونه محتوای اونو ببینه . فعلا اگه بخوام این فولدر باز کنم راحت باز میشه .

دوره آموزشی برنامه نویسی MVC در PHP قسمت دوم

و یه فایل بنام page.php توی این فولدر ساختم که در واقع میخوایم از این فایل محافظت کنم .

دوره آموزشی برنامه نویسی MVC در PHP قسمت دوم

کد page.php:

دوره آموزشی برنامه نویسی MVC در PHP قسمت دوم

ادامه کد:

دوره آموزشی برنامه نویسی MVC در PHP قسمت دوم

توی تگ style کدهای css هست (اگه شد بعداً یه مقدار css هم توضیح میدم) و ادامه کد هم که آسونه چیزی نداره (دو تا label , textbox و یه button گذاشتم) .

خوب حالا میریم سر کدهای htaccess:

یه فایل بنام .htaccess توی فولدر private میسازیم که این فایل وظیفه محافظت از فولدر داره تا کاربرای دیگه (به غیر از کاربری با نام admin) نتونن توی فولدر ببینن .

دوره آموزشی برنامه نویسی MVC در PHP قسمت دوم

AuthType : نوع تشخیص هویت معلوم میکنه و ما اینجا basic براش ست کردیم چون داریم از احراز هویت http استفاده میکنیم .

AuthName : یه متن هست که توی صفحه ای که میخواییم رمزعبور وارد کنیم نمایش داده میشه (توی عکس معلومه)

AuthUserFile : مسیر فایل محتوای رمزعبور و نام کاربری (توصیه میشه فایل محتوای رمزعبور و نام کاربری توی فولدر برنامه وب نباشه، خارج از فلودرهای برنامه باشه)

require valid-user : یعنی فقط کاربرای مجاز محتویات این فولدر میبینند .

و حالا یه فایل دیگه هم میسازیم به نام .htpasswd و توش رمز عبور و نام کاربری هرکسی که میخوایم به این فولدر دسترسی داشته باشه، قرار میدیم (در اینجا ما فقط به admin اجازه دادیم)

username:password

اگه خواستید به چند نفر اجازه بدید این فولدر ببینن باید username و password ها رو زیر هم بنویسید اینجوری :

username:password

username:password

username:password

توی فایل .htpasswd میشه رمز عبور encrypt ذخیره کرد یا هم بصورت معمولی رمز عبور دخیره کنیم، اگه خواستید رمزعبورتون encrypt کنید برید توی این سایت :

http:////www.htaccesstools.com//htpasswd-generator

خوب من رمزعبور خودمو encrypt کردم و گذاشتم توی فایل .htpasswd :

دوره آموزشی برنامه نویسی MVC در PHP قسمت دوم

و حالا موقعی که میخواییم وارد page.php بشیم از ما نام کاربری و رمزعبور میپرسه .

دوره آموزشی برنامه نویسی MVC در PHP قسمت دوم

اگه روی دکمه cancel کلیک کنم این صفحه برام نشون داده میشه

دوره آموزشی برنامه نویسی MVC در PHP قسمت دوم

اگه رمزعبور یا نام کاربری غلط وارد کنم دوباره ازم نام کاربری و رمزعور میپرسه و اگه هم درست وارد کنم که صفحه ای که میخوایم برامون باز میکنه

دوره آموزشی برنامه نویسی MVC در PHP قسمت دوم

اومیدوارم از این قسمت هم استفاده لازم برده باشید . توی قسمت بعدی ادامه مباحث htaccess توضیح میدم .

نویسنده : مهدی رزمجویی

منبع : جزیره طراحی و توسعه وب وب سایت توسینسو

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد

#ایجاد_خودکار_subdomain_در_mvc #آموزش_mvc_توی_php #آموزش_mvc_و_oop_در_php #قسمت_دوم_آموزش_mvc__در_php #mvc_در_php #آموزش_mvc_در_php
عنوان
1 دوره آموزشی برنامه نویسی MVC در PHP قسمت اول رایگان
2 دوره آموزشی برنامه نویسی MVC در PHP قسمت دوم رایگان
3 دوره آموزشی برنامه نویسی MVC در PHP قسمت سوم رایگان
4 دوره آموزشی برنامه نویسی MVC در PHP قسمت چهارم رایگان
5 دوره آموزشی برنامه نویسی MVC در PHP قسمت پنجم رایگان
6 دوره آموزشی برنامه نویسی MVC در PHP قسمت ششم رایگان
7 دوره آموزشی برنامه نویسی MVC در PHP قسمت هفتم رایگان
8 دوره آموزشی برنامه نویسی MVC در PHP قسمت هشتم رایگان
9 دوره آموزشی برنامه نویسی MVC در PHP قسمت نهم رایگان
10 دوره آموزشی برنامه نویسی MVC در PHP قسمت دهم رایگان
11 دوره آموزشی برنامه نویسی MVC در PHP قسمت یازدهم رایگان
12 دوره آموزشی برنامه نویسی MVC در PHP قسمت دوازدهم رایگان
13 دوره آموزشی برنامه نویسی MVC در PHP قسمت سیزدهم رایگان
14 دوره آموزشی برنامه نویسی MVC در PHP قسمت چهاردهم رایگان
زمان و قیمت کل 0″ 0
6 نظر
k_1982

سلام

منون از آموزش های خوبتون بسیار کاربردی بود؛خیلی وقته دنبال همچین آموزشهایی بودم

یه سوال داشتم من با دریم ویور6 کارمیکنم اون بحث جلسه اولدرمورد چگونگی ایجاد دnewsit توی دریم ویور6 نتونستم این قسمت پیدا کنم فکر میکنم نباشه میشه newزد وhtmlانتخاب کرد و بقیه مراحل ؟

مهدی رزمجویی

سلام

حتما گزینه ی newsite (واست ایجاد سایت جدید) وجود داره توی این ورژن دریو ویور.

من این ورژنو نصب نکرد ولی تو نت عکسشو دیدم، توی toolbar همچین گزینه ای هست ( یه آیکنی هست شبیه سه تا مربع ) روش که کلیک میکنید گزینه newsite داره .

ولی اون گزینه new html، فقط واستون یه صفحه از نوع html میسازه نه یه سایت جدید .

k_1982

بسیارعالی ممنون از راهنمایتون

behnaz

سلام

میخواستم بپرسم در مدل mvc فریمورک کد ایگنایتر ، فایلی به نام( .htaccess) وجود داره ، وقتی فایل رو باز میکنم (با دریم ویور) فقط یک پیام در صفحه وجود داره به اسم deny for all

چیزی که در این آموزش گفتید با این فایلی که من میگم ارتباطی دارن؟

مهدی رزمجویی

سلام

آره همین htaccess ی که توی آموزش توضیح دادم ، همون فایل htaccess ی هست که شما توی فریمورک codeigniter دیدید،

توی codeigniter و یا هر فریمورک مشابه دیگه ای، فایل htaccess وجود داره، واسه اینکه برنامه نویس بتونه با استفاده از این فایل رو آپاچی قوانین و یا عملیاتی انجام بده، البته همه کاری نمیتونه روی آپاچی انجام بده، بعضی کارا باید حتما بصورت دستی روی فایل httpd.conf آپاچی انجام بشه.

توی این htaccess کدایگنایتر، فقط یه خط کد نوشته شده و معنای کدش اینه که، اجازه دسترسی به هیچ کسی رو نمیده.

این آموزشی که شروع کردم واسه ایجاد یه فریمورک php بود، که متاسفانه کامل نشد.

mehdi2237

سلام و خسته نباشد

چرا من ارور 401 رو میخوام شخصی سازی کنم نمیشه

RewriteEngine On
ErrorDocument 401 /error_pages/401.html 

اولش فک کردم شاید چون توی پوشه پروژه است واسه همون کار نمیکنه ولی بیرونشم گذاشتم با آدرس مطلق و url بازم نشد...

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره پاییزه می تونی امروز ارزونتر از فردا خرید کنی ....