Real Time Web Analytics کانال تلگرام لرن روت

PHP

تابع htmlspecialchars در PHP چه کار می کند؟

نویسنده : کامران جعفری
تاریخ انتشار:
21:04:12 1394-07-11
تابع htmlspecialchars برای خارج سازی کاراکترهای از پیش تعریف در html  جهت امنیت بیشتر در وب استفاده می شود.

تابع htmlspecialchars، تابعی است که بیشتر برای تبدیل کاراکترهای از پیش تعریف شده به موجودیت های HTMLای، جهت بالا بردن امنیت استفاده می شود. با این مقاله لرن روت همراه باشید تا درباره آن بیشتر صحبت کنیم.

کاراکترهای از پیش تعریف شده ای که عمل تبدیل آنها به موجودیت های HTMLای در این تابع صورت می گیرد کاراکترهای زیر هستند:

کاراکتر از پیش تعریف شده پس از تبدیل
& amp&
" quot&
' #039&
< lt&
> gt&

 

 

 

 

 

اما فایده این تبدیل و استفاده از تابع htmlspecialchars چیست؟
اگر به مقاله آموزش جلوگیری از حمله XSS در لاراول مراجعه کنید، با مکانیزم حمله XSS آشنا خواهید شد. همچنین اگر به مقاله تابع strip_tags در PHP چه کار می کند نیز مراجعه کنید، به راه کاری برای مقابله با این حمله آشنا خواهید شد. اما تابع strip_tags بیشتر برای زمانی استفاده می شود که قرار است اطلاعات ورودی کاربر در پایگاه داده ذخیره شود. ممکن است در اثر اتفاقاتی این مرحله از ایجاد امنیت دچار خللی شده باشد. از همین رو برای امینت بیشتر و ایجاد اطمینان بهتر است قبل از نمایش اطلاعات کاربر بار دیگر آنها را پاکسازی کنید. از همین رو قبل از نمایش اطلاعاتی که کاربر وارد کرده است در صفحات، آن اطلاعات را از تابع htmlspecialchars بگذرانید.
به تکه کد روبرو دقت کنید:

$user_data_for_dispaly = <script> alert(“ Easily Hacked ”); </script>


اکنون در صورتی که بصورت زیر عمل کنیم:

echo $user_data_for_dispaly;

هیچ چیزی به کاربر نمایش داده نخواهد شد ولی کد جاوا اسکریپت اجرا شده و پیغام مربوطه بر روی صفحه تمام کاربرانی که صفحه مربوطه را مشاهده می کنند به نمایش در خواهد آمد.
اما اگر بصورت زیر عمل کنیم:

echo htmlspecialchars($user_data_for_dispaly);

چیزی که کاربر در صفحه مشاهده خواهد کرد بصورت زیر است:

&lt;script&gt;alert(&quot Easily Hacked &quot)&lt;/script&gt;

البته این تابع متغیرهای اختیاری دیگری نیز دریافت می کند که استفاده از آنها ضروری نیست. جهت مطالعه آنها می توانید به W3SCHOOLS مراجعه کنید.

برچسب ها:
مقالات مشابه