ক্লিকজ্যাকিং হল একটি দূষিত আক্রমণ যেখানে ব্যবহারকারীদের প্রতারিত করা হয় এমন একটি সাইটের লিঙ্ক বা UI উপাদানগুলিতে ক্লিক করার জন্য যা একটি বিশ্বস্ত এবং পরিচিত সাইট বলে মনে হয়৷ এটি সাধারণত একটি <iframe>
ব্যবহার করে দূষিত সাইটের অংশ বা সমস্ত বিশ্বস্ত সাইট এম্বেড করার মাধ্যমে সম্পন্ন করা হয়।
X-Frame-Options
(XFO) শিরোনাম এবং Content-Security-Policy
(CSP) শিরোনামের frame-ancestors
নির্দেশিকা <iframe>
এর মধ্যে একটি সাইট কীভাবে এম্বেড করা যায় তা নিয়ন্ত্রণ করে ক্লিকজ্যাকিং আক্রমণকে প্রশমিত করতে পারে।
কিভাবে বাতিঘর অডিট ব্যর্থ হয়
XFO শিরোনামটি SAMEORIGIN
বা DENY
দিয়ে সেট করা থাকলে বা CSP শিরোনামে frame-ancestors
নির্দেশিকা সেট করা থাকলে অডিট পাস হবে। এই ফ্রেম নিয়ন্ত্রণ নীতিগুলির কোনটিই কনফিগার করা না থাকলে অডিট ব্যর্থ হবে৷
ক্লিকজ্যাকিং প্রশমিত করার জন্য কীভাবে একটি ফ্রেম নিয়ন্ত্রণ নীতি সেট করবেন
প্রাথমিক নথির অনুরোধের HTTP শিরোনামে একটি ফ্রেম নিয়ন্ত্রণ নীতি সেট করা প্রয়োজন৷ X-Frame-Options
শিরোনাম এবং Content-Security-Policy
frame-ancestors
নির্দেশিকা <meta>
এলিমেন্টে সেট করা থাকলে কাজ করবে না।
XFO হেডার
XFO হেডারের জন্য DENY
বা SAMEORIGIN
সেট করা ক্লিকজ্যাকিং আক্রমণকে প্রশমিত করবে:
X-Frame-Options: SAMEORIGIN
X-Frame-Options: DENY
SAMEORIGIN
নির্দেশিকা পৃষ্ঠাটিকে শুধুমাত্র তখনই প্রদর্শনের অনুমতি দেয় যখন সমস্ত পূর্বপুরুষ ফ্রেমগুলি পৃষ্ঠার মতো একই উত্স ভাগ করে। বিপরীতভাবে, DENY
নির্দেশিকা প্যারেন্ট ফ্রেমের মূল নির্বিশেষে পৃষ্ঠাটিকে একটি ফ্রেমে প্রদর্শিত হতে বাধা দেয়।
CSP হেডার
CSP শিরোলেখের মধ্যে frame-ancestors
নির্দেশিকা নির্ধারণ করে যে কোন সাইটগুলি প্রদত্ত পৃষ্ঠাটিকে <frame>
, <iframe>
, <object>
, অথবা <embed>
এম্বেড করতে পারে। XFO-এর মতোই, CSP frame-ancestors
নির্দেশিকাটি ক্লিকজ্যাকিং আক্রমণ কমাতে ব্যবহার করা যেতে পারে এটিকে self
বা none
সেট করে:
Content-Security-Policy: frame-ancestors 'self';
Content-Security-Policy: frame-ancestors 'none';
যাইহোক, frame-ancestors
নির্দেশিকা XFO এর চেয়ে বেশি নমনীয় কারণ এটি নির্দিষ্ট মূল উত্স সেট করতে পারে যা পৃষ্ঠাটি এম্বেড করতে পারে:
Content-Security-Policy: frame-ancestors 'self' https://example.com;