مشکل امنیتی در استفاده از target=_BLANK

آشنایی با اصول امنیتی در هنگام طراحی سایت سبب می‌شود آسیب‌های احتمالی برای کاربران و صاحبان سایت‌ها به حداقل برسند. یک اشکال امنیتی در هنگام ایجاد پیوندهای خارجی در سایت که ویژگی target=_BLANK داشته باشند می‌تواند سبب ایجاد آسیب‌های قابل توجه به ویژه برای کاربران شبکه‌های اجتماعی شود.

این اشکال در حال حاضر در سایت اینستاگرام برطرف شده است ولی سایر شبکه‌های اجتماعی همچنان این ریسک امنیتی را دارا هستند.

شرح مشکل

اشکال امنیتی ایجاد شده از نوع Phishing است. اشکال امنیتی Phishing نوعی مشکل امنیتی است که با ایجاد یک صفحه‌ی جعلی کاملا مشابه یک سایت شناخته‌شده‌ی دیگر، تلاش می‌کند تا اطلاعات کاربران را سرقت کند.

هنگامی که یک سایت پیوندی به سایت دیگر ایجاد می‌کند و در ایجاد پیوند، ویژگی target=_BLANK را درج می‌کند، سایت باز شده، با استفاده از کدهای جاوااسکریپت، به برخی اطلاعات پنجره‌ی اصلی دسترسی خواهد داشت.

از جمله‌ی این دسترسی‌ها، نشانی صفحه‌ی باز کننده است. با استفاده از کدی شبیه به کد زیر، سایت مقصد پیوند می‌تواند پنجره یا برگه‌ی مبدا را به یک نشانی جدید با هدف Phishing هدایت کند.

وجود کد بالا در یک صفحه‌ی مخرب، بررسی می‌کند که آیا کاربر با کلیک روی پیوندی در سایت دیگر با ویژگی target=_BLANK به این سایت مراجعه کرده است یا خیر و در صورت مثبت بودن پاسخ، سایت مبدا را به نشانی مخرب جدید هدایت می‌کند. نشانی مخرب می‌تواند ظاهری شبیه سایت اصلی ایجاد کند و از کاربر اطلاعات شخصی یا ورود وی را درخواست کند.

راه حل مشکل

برای حل کردن این مشکل، اضافه کردن ویژگی rel="noopener noreferrer"‎ سبب جلوگیری از دسترسی سایت مقصد به پنجره‌ی فعلی و نشانی پنجره‌ی اصلی خواهد شد.

با استفاده از جاوااسکریپت نیز می‌توان به شکل زیر از رخداد این اشکال امنیتی جلوگیری نمود:

منبع: dev.to


مشاهده‌ی تمامی نوشته‌ها در گروه: اخبار دنیای وب. ‏ فهرست برچسب‌ها: , , .

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *