متغیرهای فوق جهانی (سوپر گلوبال) پی اچ پی
متغیر فوق جهانی پی اچ پی برای دستیابی به متغیرهای جهانی از نقطه ای در اسکریپت PHP استفاده می شود. متغیرهای سوپر گلوبال از داخل و نیز خارج همان صفحه ای که آنها را تعریف می کند؛ قابل دسترسی هستند. در حالی که حوزه ی به کار گرفتن متغیر محلی درون همان صفحه ای است که آن را تعریف می کند.
متغیرهای سوپر گلوبال PHP به صورت زیر هستند:
$_GET[“FromElementName”]
این متغیر برای جمع آوری مقداری از یک فرمت (اسکریپت HTML) است که با متد ‘get’ دریافت شده است. اطلاعاتی یک فرم که با روش ‘get’ ارسال می شود؛ برای همه قابل مشاهده است (در نوار URL مرورگر نمایش داده می شود).
$_POST[“FormElementName”]
این متغیر برای جمع آوری اطلاعات یک فرم به کار می رود که با متد “post” دریافت شده است. اطلاعات ارسال شد از این فرم برای دیگران قابل رویت نیست. (می توانید نوار آدرس را بررسی کنید).
$_REQUEST[“FormElementName”]
این متغیر را می توان برای جمع آوری داده با هر دو متد get و post استفاده کرد.
$_FILES[“FormElementName”]
این متغیر را می توان برای آپلود فایل ها از یک سیستم/ کامپیوتر مشتری روی یک سرور استفاده کرد. یا:
$_FILES[“FormElementName”][“ArrayIndex”]
مانند نام فایل، نوع فایل، اندازه فایل مانند نام موقتی فایل.
$_SESSION[“VariableName”]
یک متغیر نشست برای ذخیره کردن اطلاعات مربوط به یک کاربر واحد استفاده می شود و برای همه صفحه ها درون آن اپلیکیشن در دسترس است.
$_COOKIE[“VariableName”]
یک کوکی برای تعریف یک کاربر استفاده می شود. کوکی یک فایل کوچک است که سیستم در کامپیوتر سرور جاسازی می کند.
$_Server[“ConstantName”]
SERVER_$ اطلاعات مربوط به هدرها، مسیرها و موقعیت های اسکریپت را اتخاذ می کند.
مثال
$_SERVER[“SERVER_PORT”]
$_SERVER[“SERVER_NAME”]
$_SERVER[“REQUEST_URI”]
امنیت و محافظت از متغیرهای فوق جهانی در PHP
امنیت و محافظت از متغیرهای فوق جهانی یکی از مسائل حیاتی در توسعه برنامههای PHP است. این متغیرها، که به عنوان سوپر گلوبالها نیز شناخته میشوند، در تمامی قسمتهای برنامه قابل دسترسی هستند و از آنجایی که اطلاعات مهمی را حاوی میشوند، محافظت از آنها بسیار حیاتی است.
یکی از مسائل امنیتی اصلی مرتبط با متغیرهای فوق جهانی، حملات تزریق مخرب مانند حملات تزریق SQL است. زمانی که دادههای ورودی از متغیرهای فوق جهانی مثل $_GET و $_POST بدون صحتسنجی به دیتابیس ارسال میشوند، این حملات قابلیت ورود به سیستم را دارند و میتوانند به اطلاعات حساس دسترسی یافته و یا آنها را تغییر دهند. برای جلوگیری از این نوع حملات، اعتبارسنجی دادههای ورودی و استفاده از پیش نوشتهای SQL مانند prepared statements از اهمیت بالایی برخوردار است.
علاوه بر حملات تزریقی، متغیرهای فوق جهانی نیز میتوانند در معرض حملات XSS یا Cross-Site Scripting قرار بگیرند. در این نوع حملات، کد اجرایی مخرب توسط مهاجمان به متغیرهای فوق جهانی ارسال میشود و سپس به کاربران دیگر نمایش داده میشود، که میتواند به دزدیده شدن اطلاعات حساس کاربران و یا کارکرد نادرست سایت منجر شود. برای مقابله با این نوع حملات، اعتبارسنجی و فیلتر کردن دادههای ورودی، و همچنین استفاده از تکنیکهای امنیتی مانند Content Security Policy، ضروری است.
علاوه بر مسائل حملاتی، حفاظت از متغیرهای فوق جهانی نیز میتواند شامل حفاظت از حریم خصوصی و اطلاعات شخصی کاربران باشد. در مواردی که از $_SESSION و $_COOKIE برای ذخیره اطلاعات حساس مانند اطلاعات ورود کاربران استفاده میشود، لازم است تا این اطلاعات بهطور امن ذخیره شده و از دسترسی غیرمجاز محافظت شوند.
در نهایت، آموزش به برنامهنویسان درباره روشهای صحیح استفاده از متغیرهای فوق جهانی و توجه به اصول امنیتی از اهمیت بالایی برخوردار است. همچنین برنامهها باید بهطور منظم بررسی و بهروزرسانی شوند تا از آخرین تهدیدات امنیتی محافظت شود و امکان ورود نفوذگران به سیستم را کاهش دهند.