ورود

View Full Version : جلوگیری از دسترسی مستقیم به view



Hussain<ELite>
شنبه 08 خرداد 1395, 13:55 عصر
سلام

اگر آدرس بخشی از سایت که در view هست رو بزنیم میتوان محتوا رو دید
برای جلوگیری از این دسترسی توی codeigniter
باید مثل اینکه کد زیر رو اضافه کرد

defined('BASEPATH') OR exit('No direct script access allowed');
ولی این کار عملا جلوی دسترسی رو نمیگیره!

اشکال کار از کجاست؟ حتما باید فایل .htaccess رو دستکاری کنم؟

plague
شنبه 08 خرداد 1395, 17:38 عصر
لطفا درست توضیح بده معلوم نیست سوالت چیه
اگه منظورت اینه که بازدن آدرس application/view توی مرورگر میشه فایل های توی فولدر رو دید خیر اینجوری نیست

Hussain<ELite>
یک شنبه 09 خرداد 1395, 00:47 صبح
منظورم اینه که یک فایل controller دارم که مثلا صفحه home رو لود میکنه
وقتی از روی آدرس مثلا میزنیم exmaple.com/index.php/home
این صفحه دیده میشه و من نمیخوام دسترسی مستقیم بهش داشته باشم با کدی که گفته شده انتظار داشتم دیده نشه ولی میشه!
البته تو حالت آفلاین دارم توسعه میدم شاید آنلاین اینجوری نباشه

plague
یک شنبه 09 خرداد 1395, 18:31 عصر
یعنی سورس کد فایل دیده میشه بجای اجرا شدن و خروجی که باید بده ؟
البته که اینجوری نیست و ربطی به آنلاین و لوکال نداره ... یجای کار اشتباه میکنی که باعث میشه به صورت فایل text اجرا بشه کنترلرت نه فایل .php
اگه میتونی اون خروجی سورس رو اینجا بزار

Hussain<ELite>
یک شنبه 09 خرداد 1395, 20:10 عصر
کجا گفتم سورس کد؟
خود صفحه دیده میشه نه کد!
تو همون پست اول یک تکه کد رو گذاشتم که اول فایلهای php میگذاریم
میخواهم کاربر با نوشتن آدرس مستقیم به اون صفحه نره
یعنی با نوشتن آدرس مستقیم این پیغام بهش نشون داده بشه: No direct script access allowed

plague
دوشنبه 10 خرداد 1395, 11:47 صبح
اگه نمیخای دسترسی مستقیم داشته باشه کسی کافیه تابع تو کنترلر رو private یا protected کنی


private function home(){
}

محسن شامحمدی
چهارشنبه 12 خرداد 1395, 15:05 عصر
اگر همین کد رو توی ویو بذارید حل می شه

defined('BASEPATH') OR exit('No direct script access allowed');

راه بهتر اینه که اسم پوشه application رو عوض کنید.خیلی ساده توی فایل index.php اسم جدیدش رو بذارید.