آفلاین
user-avatar

جلوگیری از نمایش اطلاعات هاست

2 سال پیش
توسط حسام موسوی آپدیت شد
آفلاین
user-avatar
محمدرضا عطوان ( 9831 تجربه )
2 سال پیش

چطور میشه وقتی APP_DEBUG لاراول فعاله از نمایش اطلاعات و رمز های ورود به هاست جلوگیری کنیم.
متاسفانه به صورت پیشفرض قابل نمایش هستن

بهترین پاسخ انتخاب شده توسط محمدرضا عطوان
آفلاین
user-avatar
حسام موسوی
2 سال پیش

با سلام به شخصه فک نکنم راحی برای نمایش ندادن اطلاعات env بغیر از دستکاری فایل های vendor ندارید .
البته قاعدتا زمانی که وبسایت بر روی سرور میره باید بصورت حالت production باشه و اصلا نباید debug فعال باشه . اگر میخواین ارور بخونید فقط از طریق فایل log .
لاراول داره از یک کتابخونه با عنوان whoops استفاده میکنه که این اطلاعات رو نمایش میده آدرس این کتاب خونه در زیر میزارم میتونید بهش مراجعه کنید و از در قسمت issuses ها پیگیر این ویژگی بشین ولی از نظر من همین حالت درسته بخاطر اینکه به هیچ وجه نباید حالت debug در زمان production فعال بشه .
https://github.com/filp/whoops/issues

آفلاین
user-avatar
Extern ( 1218 تجربه )
2 سال پیش

درود.
منظور شما فایل .env هست ؟
این موضوع ربطی به فعال یا غیر فعال بودن APP_DEBUG نداره شما باید فایل های اصلی لاراول رو در شاخه ای قبل از روت قرار بدید.

آفلاین
user-avatar
محمدرضا عطوان ( 9831 تجربه )
2 سال پیش

@Extern در صفحه 500 ارور های لاراول یک بخشش ارور رو نشون میده یک بخشش هم تمام اطلاعات و تنظیماتی که در فایل. env هست رو نشون میده
قبلا چک کرده بودم و این مشکل ربطی به قرار گیری لاراول در روت اصلی نداره و مشکل در handle کردن و نمایش ارور هاست
اما متاسفانه از روش جلوگیری از این موضوع اطلاعی ندارم

آفلاین
user-avatar
سیدعلی موسوی ( 107523 تجربه )
2 سال پیش
تخصص : سی شارپ و پی اچ پی

سلام ، اگر درست متوجه شده باشم شما با false کردن دیباگ در env خطاها رو میتونی ببینی؟؟؟

آفلاین
user-avatar
محمدرضا عطوان ( 9831 تجربه )
2 سال پیش

@juza666 نه وقتی true باشه میتونم ببینم وقتی false باشه که view ساخته شده مثلا برای error 500 نمایش داده میشه
Whoops, looks like something went wrong.

من میخوام بخش Environment & details رو از صفحه ارور هام غیر فعال کنم تا نمایشش نده
تو این تصویر مشخصه :
http://uupload.ir/files/pb24_capture.jpg
@hesammousavi لطفا شما هم راهنمایی کنید

آفلاین
user-avatar
محمدرضا عطوان ( 9831 تجربه )
2 سال پیش

کسی نیست منو راهنمایی کنه؟

آفلاین
user-avatar
Bahman Aliveisi ( 16521 تجربه )
2 سال پیش

یک فایل .htaccess در ریشه سایت (پوشه فایل env) ایجاد کن با محتویات زیر: (جلوگیری از دسترسی به کلیه فایلهایی که با دات شرو ع میشه)

<FilesMatch "^\.">
    Order allow,deny
    Deny from all
</FilesMatch>

یا به جای کد بالا اینرو قرار بده (فرستادن کلیه درخواستها به پوشه public)

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
آفلاین
user-avatar
محمدرضا عطوان ( 9831 تجربه )
2 سال پیش

@bahman.aliveisi هیچ فرقی نکرد
مگر اینکه APP_DEBUG رو false کنم تو .env که فقط یه view نشون بده با اون کد ارور وگرنه همه اطلاعات فایل .env رو با ارور نشون میده

آفلاین
user-avatar
Bahman Aliveisi ( 16521 تجربه )
2 سال پیش

یه راه دیگه میتونی اطلاعات مهم (مثل رمز دیتابیس) رو از فایل env حذف کنی. مثلا DB_PASSWORD= رو حذف کن و مقدار رو در فایل config\database.php ست کن.

'password' => env('DB_PASSWORD', 'yourPass'),
آفلاین
user-avatar
محمدرضا عطوان ( 9831 تجربه )
2 سال پیش

@bahman.aliveisi
متاسفانه این کار مشکل منو حل نمیکنه

آفلاین
user-avatar
حسام موسوی ( 382309 تجربه )
2 سال پیش
تخصص : طراح و برنامه نویس

با سلام به شخصه فک نکنم راحی برای نمایش ندادن اطلاعات env بغیر از دستکاری فایل های vendor ندارید .
البته قاعدتا زمانی که وبسایت بر روی سرور میره باید بصورت حالت production باشه و اصلا نباید debug فعال باشه . اگر میخواین ارور بخونید فقط از طریق فایل log .
لاراول داره از یک کتابخونه با عنوان whoops استفاده میکنه که این اطلاعات رو نمایش میده آدرس این کتاب خونه در زیر میزارم میتونید بهش مراجعه کنید و از در قسمت issuses ها پیگیر این ویژگی بشین ولی از نظر من همین حالت درسته بخاطر اینکه به هیچ وجه نباید حالت debug در زمان production فعال بشه .
https://github.com/filp/whoops/issues

برای ارسال پاسخ باید وارد سایت شوید