سلام . وقتی سایت ای روی سرور بارگذاری میشه و بخواهیم اطلاعات بصورت امن منتقل بشه باید گواهی نامه ssl را تهیه کنیم . برنامه من با لاراول نوشته شده . سوال من اینه که بعد از خرید گواهی نامه ، آیا باید تنظیماتی را در لاراول انجام بدهم ؟ در اینترنت سرچ کردم ، باید تنظیماتی را با ساختن یک میدلور انجام بدهیم . ولی همه جا نوشته شده بود که این تنظیمات برای redirect کردن به https هستش . یعنی اگر کاربر در خط url بجای https کلمه http را تایپ کرد سرور خودش آنرا httpsفرض کنه . آیا اگر تنظیماتی انجام نشد و کاربر در url ، قبل از آدرس سایت ، کلمه https://... را تایپ کنه نیازی به تنظیمات با میدلور هنوز هست؟ممنونم
این قضیه هم میتونه تو لایه سورس کد و فریم ورک لاراولتون با استفاده از Middleware انجام بشه و هم در یک لایه قبل تر توسط وب سرورتون (Apache یا nginx یا ...) و یا حتی یک لایه قبل تر در لایه CDN و به نظرم هر چقدر این کار قبل تر انجام بشه بهتره و بهینه تر و ایمن تره.
یعنی اگر از CDN مثل ابرآروان استفاده میکنید اونجا فعالش کنید. اگر نه تو تنظیمات htaccess یا وب سرورتون. و در نهایت آخرین گزینه خود سورس کد.
در پاسخ به سوال شماره یکتون هم در این شرایط وبسایتتون هم باید با http بالا بیاد و هم اگر بصورت دستی https وارد کنید باید حالت امن بالا بیاد. اما خوب روش منطقی و بهتر این هست که بعد از فعالسازی SSL کلیه درخواست ها به https ریدایرکت ۳۰۱ شوند. اینجوری هیچ وقت ساییتون با http دیگه بالا نمیاد. و اگر کسی دستی هم تایپ کنه اتومات ریدایرکت میشه به https.
سلام
اگه کار https زد نیاز نیست دیگه به میدلور نیاز نیست
کد رو در htaccess بزار
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://exmaple.com/$1 [R,L]
اگه کاربر http یا https نوشت تبدیل میشه به https
سلام . موردی که گفتید را تست کردم . نتونستم وارد سایت بشم . ببینید سوال اصلی من اینه : فرض کنید شرکتی که دامنه را ازش خریده ام گواهی نامه ssl را برایم فعال کرده . من هم هیچ تنظیمی روی سایتم انجام نداده و هیچ کدی را به فایل htaccess اضافه نکرده ام . با این فرضها ، سوالم اینه
1) اگر کاربری که با سایت من کار میکنه ، اگر در url در ابتدای آدرس ، کلمه https را قرار بدهد ، باید به سایت وارد بشود و با امنیت کار کنه؟
2) آیا فعال کردن ssl از سمت شرکتی که ازش دامنه را گرفته ایم فقط برای فعال شدن https کافیه؟ یا باید ما هم در فایل ای مثل htaccess یا با ساختن میدلور اقداماتی انجام بدهیم؟
این قضیه هم میتونه تو لایه سورس کد و فریم ورک لاراولتون با استفاده از Middleware انجام بشه و هم در یک لایه قبل تر توسط وب سرورتون (Apache یا nginx یا ...) و یا حتی یک لایه قبل تر در لایه CDN و به نظرم هر چقدر این کار قبل تر انجام بشه بهتره و بهینه تر و ایمن تره.
یعنی اگر از CDN مثل ابرآروان استفاده میکنید اونجا فعالش کنید. اگر نه تو تنظیمات htaccess یا وب سرورتون. و در نهایت آخرین گزینه خود سورس کد.
در پاسخ به سوال شماره یکتون هم در این شرایط وبسایتتون هم باید با http بالا بیاد و هم اگر بصورت دستی https وارد کنید باید حالت امن بالا بیاد. اما خوب روش منطقی و بهتر این هست که بعد از فعالسازی SSL کلیه درخواست ها به https ریدایرکت ۳۰۱ شوند. اینجوری هیچ وقت ساییتون با http دیگه بالا نمیاد. و اگر کسی دستی هم تایپ کنه اتومات ریدایرکت میشه به https.
ممنون از پاسخ خوبتون . در همین مورد سوال دیگری دارم . فرض کنید با https به سایت وارد شدیم . در سایت یک فرم داریم . درخواست توسط یک فرم را چگونه میتونیم ملزم به ارسال با https کنیم . البته فرض کنید درخواستهای http به https نمیتونن ریدایرکت بشن . در قسمت action یک آدرسی مینویسیم را چگونه بنویسیم که حتما با https ارسال بشه . این سوال در مورد ارسال با ajax هم پیش میاد . چطوری درخواستی که با ajax میزنیم حتما https باشه؟ ممنون
درکی از اینکه چرا درخواست ها نمیتونن ریدایرکت بشن ندارم. (چون تقریبا همه جا همین کار باید بشه و کار خیلی رایجی هست)
اما در هر صورت خوب کافیه آدرس url رو چه برای فرم در بخش action چه برای درخواست های ajax بصورت https بنویسیم. همین!
<form action="https://example.ir" method="POST">
...
</form>
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟