9
تشکر

XSS و راه حل آن

XSS و راه حل آن

XSS و راه حل آن

این مطلب در دسته بندی مطالب پی اچ پی است. پی اچ پی را در اینجا دنبال کنید.

ما در مطلب SQL Injection و راه حل آن به حل مشکل امنیتی SQL Injection پرداختیم. حالا به سراغ حمله بعدی که ممکن است گریبانگیر ما شود میرویم. وقتی شما مثلا نظرات کاربران را در دیتابیس ذخیره میکنید ممکن است این متن ها دارای اسکریپت هایی باشد و شما بدون اینکه از این اسکریپت ها خبر داشته باشید آنها را در دیتابیس ذخیره میکنید(البته همین ذخیره کردن هم مشکل امنیتی است که مربوط به SQL Injection میشود) حالا زمانی که موقع نمایش آنها میرسد شما باید متن های درون دیتابیس را فراخوانی کنید و برای کاربر نمایش دهید حالا اگر از اجرا شدن این اسکریپت ها جلوگیری نکنید سایت شما داری مشکل امنیتی است. ابن مشکل امنیتی با نام XSS شناخته میشود.

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

$query="select * from table1 where id=45";
$result=mysql_query($query);
$row=mysql_fetch_assoc($result);
$name=htmlspecialchars($row['name'],ENT_QUOTES);

ENT_QUOTES باعث میشود دابل کوتیشن ها و کوتیشن ها تبدیل به کدهای غیر قابل اجرا شوند. با اینکار اسکریپت های داخل کوتیشن ها اجرا نخواهد شد.

 

مطالب مرتبط:

SQL Injection و راه حل آن

  • M.Cloner می‌گه:

    سلام و خسته نباشید.ممنون از سایت خوبتون…

    در رابطه با کد بالا بنظرم بشه دور زد کد بالا جلوی این نوع تگ هارو میگیره :

    ولی اگه کاربر این شکل عمل کنه تکلیف چیست ؟
    COD

  • yasairane2014 می‌گه:

    سلام خوبید استاد من یک سوالی داشتم ایا فقط همین راه وجود دارید یا نه یعنی ما فقط از این متد استفاده کنیم دیگه هیچ نوع حمله ای از این نوع XSS بر روی ما کار سارز نیست؟

  • zanyar می‌گه:

    بازم سلام دوست عزیز ممنون از اموزش خوبت میشه بفرمایید اگه از PDO هم استفاده کنیم بازم باید از تابع htmlspecialchars استفاده کنیم؟
    یه سوال دیگه تابع همسان تابع mysql_fetch_assoc در PDO چیه ؟
    خیلی ممنون

  • hesam می‌گه:

    در sql injection میتوان با reg x ها از وزرود رشته های مظنون جلوگیری کرد و پیش نیازش آشنایی با نظریه زبان هاست


  • نظرات این مطلب بسته است.