PDA

View Full Version : سوال: اعتبار سنجی صفحه با سشن و انکلود فایل php



ahmadreza517
دوشنبه 16 اردیبهشت 1392, 21:11 عصر
سلام

برای وصل شدن به database یه فایل به اسم con.php ساختم که با اون به بانک وصل میشم.

من می خام کاربر خارجی(عضو نیست)برای مثال زمانی که اسم فایل localhost/conn.php زد کد صفحه اجرا نشه

از طریق session کاربر کنترل مینکم که اگه مجاز نبود به صفحه اصلی ارجاع بشه.
اما زمانی که این صفحه اینکلود مینکم برای مثال در فایل index.php کدی که کاربر چک میکنه خطا خطا میده.

فرزند کوروش
سه شنبه 17 اردیبهشت 1392, 09:20 صبح
با اچ تی اکسس میتونی جلوی دسترسی مستقیم به فایلا رو بگیری

فکر میکنم سناریتو یه مقدار مشکل داره ! چرا کاربرای غیر عضو نباید به دیتابیس وصل بشن؟ پس کثلا مطالب رو که از دیتابیس میاد چجوری ببنین؟

ahmadreza517
سه شنبه 17 اردیبهشت 1392, 09:38 صبح
منظورم اینه که فایل conn.php فقط از طریق include در دسترس باشه.نمیخام چه کاربرایی که عضو هستند چه نیستند با وارد کردن آدرس صفحه کد صفحه اجرا بشه.

qartalonline
سه شنبه 17 اردیبهشت 1392, 10:00 صبح
از دستور زیر در htaccess استفاده کنید.




<Files conn.php>
Order allow,deny
Deny from all
Satisfy All
</Files>

abolfazl-z
سه شنبه 17 اردیبهشت 1392, 16:59 عصر
از دستور زیر در htaccess استفاده کنید.

خوب اگر می خواستیم از اینکلود شدن یک پوشه جلوگیری کنیم باید چکار کنیم؟

دوست من چند مثال جامع بزن تا دوستان متوجه شون(همچنین خودم) :

مثلا یک پوشه و یک فایل و یا تمام فایل های یک پوشه و یا ....

فرزند کوروش
سه شنبه 17 اردیبهشت 1392, 20:28 عصر
اخه چطور ممکنه انکلود نشه؟ اصلا چرا نباید بشه؟ اون هم فایلی که برای اتصال به دیتا بیس هست.
وقتی انکلود نشه اجرا هم نمیشه خوب!!!

MRmoon
سه شنبه 17 اردیبهشت 1392, 20:31 عصر
خوب اگر می خواستیم از اینکلود شدن یک پوشه جلوگیری کنیم باید چکار کنیم؟

دوست من چند مثال جامع بزن تا دوستان متوجه شون(همچنین خودم) :

مثلا یک پوشه و یک فایل و یا تمام فایل های یک پوشه و یا ....

عزیز اون کد کلا اجازه ی دسترسی از سمت کلاینت رو به اون پوشه ای که فایل htaccess هست قطع میکنه!

qartalonline
سه شنبه 17 اردیبهشت 1392, 20:34 عصر
با تغییر permission پوشه ها و فایلها میتوان از اینکلود شدن آنها جلوگیری کرد.

بقیه موارد تو همین انجمن بحث شده کافیه جستجو کنید.

mtnam1372
سه شنبه 17 اردیبهشت 1392, 23:48 عصر
عزیزم کدتو بزار

abolfazl-z
چهارشنبه 18 اردیبهشت 1392, 19:25 عصر
دوستان یک اشتباه بزرگی شد :خجالت: بجایی که بنویسم برای جلوگیری از دسترسی مستقیم نوشتم اینکلود:اشتباه:

abolfazl-z
چهارشنبه 18 اردیبهشت 1392, 19:27 عصر
با تغییر permission پوشه ها و فایلها میتوان از اینکلود شدن آنها جلوگیری کرد.

اون که صد البته از نظر من بهترین کار همین هست.

abolfazl-z
چهارشنبه 18 اردیبهشت 1392, 19:33 عصر
البته یکار دیگر هم میشه کرد!

میتونیم یه کار دیگر هم انجام دهیم قبل از اینکلود یک فایل یک متغیر رو مقدار دهی کنیم(حتما یک نام بخصوص داشته باشه) و توی فایل مورد نظر ما اون مقدار چک بشه اگر True بود که خوب اینکلود بشه در غیر اینصورت ریدایرکت بشه و ... و بعد هر چک کردن مقدار False رو به متغیر ما بدهیم. (تمامی این کار ها را می توان با یک تابع انجام داد)