PDA

View Full Version : آموزش: ایجاد حق دسترسی بسیار ساده



djsaeedkhan
یک شنبه 25 دی 1390, 11:57 صبح
با سلام خدمت دوستان
شاید برای شما هم پیش اومده باشه که مثلا می خواید وقتی کاربر لوگین کرد بتونه یه سری صفحات رو ببینه و یک سری رو نتونه ببینه. خیلی وقتا میایم از کوکی یا سشن استفاده می کنیم که در جای خودش بالاخره مزایا و معایبی داره

این یک روش پیشنهادی هست. لطفا ببینید و اگر استفاده ازش خوب هست که بفرمایید و اگر اشکال داره مشکلش رو بگید



<?php
define('Access_Ruls', 1);
?>


<?php
if(!defined('Access_Ruls')){
echo 'دسترسی امکان پذیر نیست';
die;
}

echo 'شما می توانید این صفحه را ببینید';
?>

با تشکر

alonemm
یک شنبه 25 دی 1390, 14:23 عصر
بهتره که از سشن استفاده کنید و مقدار ثابت رو از سشن مقداردهی کنید.

H:Shojaei
یک شنبه 25 دی 1390, 14:59 عصر
با سلام
میشه همین کد رو توضیح بدید

<?php
define('Access_Ruls', 1);
?>

H:Shojaei
یک شنبه 25 دی 1390, 15:03 عصر
با سلام
میشه همین کد رو توضیح بدید

<?php
define('Access_Ruls', 1);
?>

djsaeedkhan
یک شنبه 25 دی 1390, 18:52 عصر
با سلام
میشه همین کد رو توضیح بدید

<?php
define('Access_Ruls', 1);
?>
با دیفاین شما یک ثابت تعریف می کنید و هر جایی که باشه می تونید راحت از مقدارش استفاده کنید
مثلا

define("pi",3.14);
echo 5*5*pi;

رضا قربانی
دوشنبه 26 دی 1390, 14:37 عصر
با دیفاین شما یک ثابت تعریف می کنید و هر جایی که باشه می تونید راحت از مقدارش استفاده کنید

یعنی توی چند صفحه می تونیم ازش استفاده کنیم (همانند سیشن که یکبار اون رو رجیستر می کنیم) ؟

djsaeedkhan
دوشنبه 26 دی 1390, 14:50 عصر
با سلام
یه مثال ساده میزنم ایشالا که خوب توضیح بدم
شما از یه عبارتی در بسیار جایی استفاده می کنید. مثلا عبارت "صلام". همین رو صد جا استفاده می کنید. حالا فردا می بینید ای بابا اشتباه نوشتیدو همه چیز بهم میریزه. خوب میایم اونو بصورت یه دیفاین تعریف می کنیم

define("name-of-variable","value")
و تو یا فایل قرار می دیم. مثلا فایل lang-fa.php سپس در ابتدای صفحه login.php اون رو صدا می زنیم . اگر در صفحه جایی بنویسیم echo name-of-variable; اون مقداری که بهش دادیم رو قرار میده. اینجوری اگر بریم و تو تعریف ثابت مقدار رو عوض کنیم در تمام صفحاتی که include شده و اون ثابت صدا زده شده تغییرات انجام میشه

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

اگر متوجه شدید اینجوری می تونید مثل من یه سایت چند زبانه استفاده کنید.

djsaeedkhan
یک شنبه 02 بهمن 1390, 17:05 عصر
سلام
از دوستان کسی نظری نداره؟

AmirSky
یک شنبه 03 اردیبهشت 1391, 23:20 عصر
به نظر من بهتره از سشن هایی که در دیتابیس ذخیره میشن استفاده بشه

djsaeedkhan
یک شنبه 03 اردیبهشت 1391, 23:33 عصر
به نظر من بهتره از سشن هایی که در دیتابیس ذخیره میشن استفاده بشه

هر کدوم یه کاری انجام میدن و بین هر کدوم باید فرق قائل شد.

lady64
دوشنبه 04 اردیبهشت 1391, 11:47 صبح
این روش برای حق دسترسی مزیتش نسبت به session چیه ؟

djsaeedkhan
دوشنبه 04 اردیبهشت 1391, 11:57 صبح
این برای جاهایی هست که حق دسترسی ثابت دارند یعنی شما میای این دسترسی رو میذاری و نیازی به کدنویسی های دیگه نداری.
به عبارتی حق دسترسیه موقتی هست

wallfa
دوشنبه 04 اردیبهشت 1391, 16:05 عصر
شما باید یه فیلد به جدول کاربر هاتون اضافه کنید و داخل اون سطح دسترسی هر کاربر مشخص کنید ! که بهش اصولا نقش ها گفته میشه

حالا یه دونه تابع می خواهید به شکل زیر ! که سطح دسترسی براتون مشخص کرده




function is_admin(){
if(!isset($_SESSION['userdata']))return false;
return (
isset(
$_SESSION['userdata']['groups']['_administrators']
) ||
isset(
$_SESSION['userdata']['groups']['_superadministrators']
)
);
}