مشکلی عجیب و غریب(کمک)

memfis

Member
سلام
من یه اپلیکشن کوچیک ساختم تو صفحه مدیریت واسه فراخوانی توابع از روش زیر استفاده کرده ام
PHP:
if(isset($_REQUEST['option']))
	{
		require_once 'inc/'.$_REQUEST['option'].'.php';
	}
تا چند وقت پیش درست کار می کرد و هنوز هم روی هاست درست کار میکنه ولی روی لوکال هر عبارتی را رو به روی option می نویسم مقدار یه عبارت دیگر را بر می گرداند.در کل هرچی جلوی option می نویسم عبارت post را بر می گرداند.(post یکی از توابعی هست که نوشتم)
اول فکر کردم شاید ایرادی داخل کدها و توابع وجود داره یه سرچی کردم دیدم خبری نیست بعد option را به optio تغییر دادم درست شد ایراد کار کجاست؟؟؟؟؟؟؟/:cry:
 

Army.Hidden

Active Member
سلام
من یه اپلیکشن کوچیک ساختم تو صفحه مدیریت واسه فراخوانی توابع از روش زیر استفاده کرده ام
PHP:
if(isset($_REQUEST['option']))
    {
        require_once 'inc/'.$_REQUEST['option'].'.php';
    }
تا چند وقت پیش درست کار می کرد و هنوز هم روی هاست درست کار میکنه ولی روی لوکال هر عبارتی را رو به روی option می نویسم مقدار یه عبارت دیگر را بر می گرداند.در کل هرچی جلوی option می نویسم عبارت post را بر می گرداند.(post یکی از توابعی هست که نوشتم)
اول فکر کردم شاید ایرادی داخل کدها و توابع وجود داره یه سرچی کردم دیدم خبری نیست بعد option را به optio تغییر دادم درست شد ایراد کار کجاست؟؟؟؟؟؟؟/:cry:

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

++++++++++++++++++++ یک توصیه امنیتی
البته بهتون پیشنهاد میکنم از این جور کد ها استفاده نکنیم. یک مشکل امنیتی به حساب میاد.
در مورد حملات rfi و lfi تحقیق کنید.
از این جور کد ها میشه برای تخریب استفاده کرد
 

my1zarb

Member
سلام؛
برای رفع مشکل دستور شرطی خودتون رو به صورت زیر، تغییر بدید.

PHP:
if(isset($_GET['option']))
    {
        require_once 'inc/'.$_GET['option'].'.php';
    }

اشکال کار اینجاست که شما هم با GET و هم با POST با یک اسم دارید اطلاعات ارسال می کنید.

---

البته صحبت دوستمون هم کاملاً در مورد عدم داشتن امنیت با استفاده از اینگونه دستورات صحیح است و تایید میشه.
 

جدیدترین ارسال ها

بالا