سامان
1 سال پیش توسط سامان مطرح شد
5 پاسخ

فعال سازی https در لاراول

سلام . وقتی سایت ای روی سرور بارگذاری میشه و بخواهیم اطلاعات بصورت امن منتقل بشه باید گواهی نامه ssl را تهیه کنیم . برنامه من با لاراول نوشته شده . سوال من اینه که بعد از خرید گواهی نامه ، آیا باید تنظیماتی را در لاراول انجام بدهم ؟ در اینترنت سرچ کردم ، باید تنظیماتی را با ساختن یک میدلور انجام بدهیم . ولی همه جا نوشته شده بود که این تنظیمات برای redirect کردن به https هستش . یعنی اگر کاربر در خط url بجای https کلمه http را تایپ کرد سرور خودش آنرا httpsفرض کنه . آیا اگر تنظیماتی انجام نشد و کاربر در url ، قبل از آدرس سایت ، کلمه https://... را تایپ کنه نیازی به تنظیمات با میدلور هنوز هست؟ممنونم


ثبت پرسش جدید
محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 1 سال پیش آپدیت شد
1

این قضیه هم میتونه تو لایه سورس کد و فریم ورک لاراولتون با استفاده از Middleware انجام بشه و هم در یک لایه قبل تر توسط وب سرورتون (Apache یا nginx یا ...) و یا حتی یک لایه قبل تر در لایه CDN و به نظرم هر چقدر این کار قبل تر انجام بشه بهتره و بهینه تر و ایمن تره.
یعنی اگر از CDN مثل ابرآروان استفاده می‌کنید اونجا فعالش کنید. اگر نه تو تنظیمات htaccess یا وب سرورتون. و در نهایت آخرین گزینه خود سورس کد.

در پاسخ به سوال شماره یکتون هم در این شرایط وبسایتتون هم باید با http بالا بیاد و هم اگر بصورت دستی https وارد کنید باید حالت امن بالا بیاد. اما خوب روش منطقی و بهتر این هست که بعد از فعالسازی SSL کلیه درخواست ها به https ریدایرکت ۳۰۱ شوند. اینجوری هیچ وقت ساییتون با http دیگه بالا نمیاد. و اگر کسی دستی هم تایپ کنه اتومات ریدایرکت میشه به https.


Daniyal Amiri
@daniyalx77 1 سال پیش مطرح شد
1

سلام
اگه کار https زد نیاز نیست دیگه به میدلور نیاز نیست

کد رو در htaccess بزار

RewriteCond %{SERVER_PORT} 80
 RewriteRule ^(.*)$ https://exmaple.com/$1 [R,L]

اگه کاربر http یا https نوشت تبدیل میشه به https


سامان
@samanf33 1 سال پیش مطرح شد
0

سلام . موردی که گفتید را تست کردم . نتونستم وارد سایت بشم . ببینید سوال اصلی من اینه : فرض کنید شرکتی که دامنه را ازش خریده ام گواهی نامه ssl را برایم فعال کرده . من هم هیچ تنظیمی روی سایتم انجام نداده و هیچ کدی را به فایل htaccess اضافه نکرده ام . با این فرضها ، سوالم اینه
1) اگر کاربری که با سایت من کار میکنه ، اگر در url در ابتدای آدرس ، کلمه https را قرار بدهد ، باید به سایت وارد بشود و با امنیت کار کنه؟
2) آیا فعال کردن ssl از سمت شرکتی که ازش دامنه را گرفته ایم فقط برای فعال شدن https کافیه؟ یا باید ما هم در فایل ای مثل htaccess یا با ساختن میدلور اقداماتی انجام بدهیم؟


محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 1 سال پیش آپدیت شد
1

این قضیه هم میتونه تو لایه سورس کد و فریم ورک لاراولتون با استفاده از Middleware انجام بشه و هم در یک لایه قبل تر توسط وب سرورتون (Apache یا nginx یا ...) و یا حتی یک لایه قبل تر در لایه CDN و به نظرم هر چقدر این کار قبل تر انجام بشه بهتره و بهینه تر و ایمن تره.
یعنی اگر از CDN مثل ابرآروان استفاده می‌کنید اونجا فعالش کنید. اگر نه تو تنظیمات htaccess یا وب سرورتون. و در نهایت آخرین گزینه خود سورس کد.

در پاسخ به سوال شماره یکتون هم در این شرایط وبسایتتون هم باید با http بالا بیاد و هم اگر بصورت دستی https وارد کنید باید حالت امن بالا بیاد. اما خوب روش منطقی و بهتر این هست که بعد از فعالسازی SSL کلیه درخواست ها به https ریدایرکت ۳۰۱ شوند. اینجوری هیچ وقت ساییتون با http دیگه بالا نمیاد. و اگر کسی دستی هم تایپ کنه اتومات ریدایرکت میشه به https.


سامان
@samanf33 1 سال پیش مطرح شد
0

ممنون از پاسخ خوبتون . در همین مورد سوال دیگری دارم . فرض کنید با https به سایت وارد شدیم . در سایت یک فرم داریم . درخواست توسط یک فرم را چگونه میتونیم ملزم به ارسال با https کنیم . البته فرض کنید درخواستهای http به https نمیتونن ریدایرکت بشن . در قسمت action یک آدرسی مینویسیم را چگونه بنویسیم که حتما با https ارسال بشه . این سوال در مورد ارسال با ajax هم پیش میاد . چطوری درخواستی که با ajax میزنیم حتما https باشه؟ ممنون


محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 1 سال پیش مطرح شد
1

@samanf33

درکی از اینکه چرا درخواست ها نمیتونن ریدایرکت بشن ندارم. (چون تقریبا همه جا همین کار باید بشه و کار خیلی رایجی هست)

اما در هر صورت خوب کافیه آدرس url رو چه برای فرم در بخش action چه برای درخواست های ajax بصورت https بنویسیم. همین!

<form action="https://example.ir" method="POST">
    ...
</form>

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام