امنیت فرمها در PHP
PHP_SELF می تواند توسط هکرها مورد استفاده قرار گیرد.
یک هکر می تواند در آدرس بار مرورگرش بعد از آدرس فایل، یک اسلش (/) قرار دهد و سپس دستورات XSS را برای اجرا تایپ کند.
![]() | XSS یا Cross-site scripting دلیل به وجود آمدن این آسیب پذیری عدم اعتبارسنجی ورودیهای کاربر می باشد، و مهاجم می تواند با تزریق اسکریپتهای مخرب در سایت از این آسیب پذیری سو استفاده کند. |
---|
فرض کنید، فرم زیر را در یک فایل بنام "test_form.php" داریم:
حالا اگر یک کاربر در آدرس بار مرورگرش "http://www.example.com/test_form.php" را وارد کند، کد بالا بصورت زیر ترجمه خواهد شد:
خوب تا اینجا همه چیز خوب است.
اما درنظر بگیرید که کاربری URL زیر را در آدرس بار وارد کند:
در این صورت کد بالا بصورت زیر ترجمه خواهد شد:
دومین URL، باعث اضافه شدن تگ <script> و یک دستور alert در بین کدهای ما شده است. و زمانی که صفحه لود می شود، کد JavaScript اجرا می شود (کاربر یک جعبه پیغام خواهد دید). این فقط یک مثال ساده و بی ضرر است که نحوه هک کردن متغییر PHP_SELF را نشان می دهد.
توجه داشته باشید که هر کد JavaScript دیگری را می توان در تگ <script> قرار داد...! یک هکر می تواند کاربر را به یک فایل دیگر روی سروری دیگر redirect کند، و از طریق آن فایل، اطلاعات کاربر را ذخیره کند.