ایجاد: ۲۳:۰۴ ۱۳۹۲/۹/۲۴
ویرایش: ۹:۵۰ ۱۳۹۲/۹/۲۵

آموزش‌ها

»

شکاندن فریم و جلوگیری از لود شدن صفحه ما در فریم سایت‌های دیگران

بسیاری از سایت‌ها (خصوصا سایت‌های خبرچین!) یا لینکدونی‌ها، مطالب سایت‌های دیگر را در یک iframe لود می‌کنند و بالای آن هم اسم سایت خودشان لود می‌شود و URL بالای صفحه هم آدرس سایت خودشان است.
طبعا برای صاحبان سایت‌ها، چنین امری مطلوب نیست و لذا سعی می‌کنند با آن مقابله کنند که در این مطلب به آن می‌پردازیم (هرچند صاحبان سایت‌های فریمی! هم بیکار نمی‌نشینند و سعی می‌کنند با شکاندن فریم مقابله کنند)

روش ساده برای این کار، این است که با js چک کنیم که آیا سایت ما در فریم لود شده یا خیر؟ اگر در فریم لود شده، آدرس بالای صفحه را به آدرس صفحه خودمان تغییر دهیم:

if(top!=self)
  top.location.replace(self.location.href);
این روش، روش بدی نیست و به خوبی هم کار می‌کند منتها به شرطی که اولا js فعال باشد و ثانیا صاحب سایت فوقانی! به فکر مقابله با آن نیفتاده باشد و الا می‌تواند همانطور که در لینک فوق می‌بینید، با قرار دادن رویداد onBeforeUnload برای سایتش، مانع شکستن فریم شود.

روش بهتر این است که ابتدا رویداد onBeforeUnload پنجره top را از بین ببریم و سپس این کار را انجام دهیم:

if(top!=self){
  top.onbeforeunload=function(){};
  top.location.replace(self.location.href);
}

روش دیگر استفاده از X-Frame-Options: deny است که حتی در صورت غیرفعال بودن جاوا اسکریپت نیز کار می‌کند و در اکثر براوزرها پشتیبانی می‌شود.

روی روش‌های فوق در اینجا تبادل نظر شده است به همراه لینک‌های توضیحی لازم.

مدیریت

نام وسیله

اعتبار ورود

نام کاربری

رمز عبور

رمز یکبارمصرف

... لیست تمام آموزش‌ها

تبلیغات

ربات‌های تلگرامی:
مجموعه ربات‌های تلگرامی ما برای ساده‌تر کردن کار با تلگرام و مدیریت کانال و ...
خرید هاست (فضا):
دنبال یک هاست به صرفه برای شروع کار می‌گردید؟
مشخصات و قیمت‌های این مورد رو ببینید. من سال‌ها مشتری‌شون بودم و پشتیبانی‌شون هم خوب بود.
دامنه‌های فروشی:
دامنه‌های زیر مربوط به ما یا مشتریان ماست که قابل فروش هستند. در صورت تمایل به خرید یکی از آنها، مبلغ پیشنهادی را از طریق فرم ارتباطی برای ما ارسال نمایید.

دامنه‌هایی که می‌تواند مصرف مذهبی داشته باشد:
دامنه‌هایی که می‌تواند مصرف تخصصی داشته باشد:
دامنه‌هایی که می‌تواند مصرف شخصی/عمومی داشته باشد: