Content Marketing

Iframe Breaking: Ahoana no hampijanonana ny Iframe tsy nahazoana alalana amin'ny atiny

Nisy mpitsidika ny tranokalako indray mandeha nampahafantatra ahy rehefa nanindry ny iray amin'ireo rohiko izy Twitter; nentina tany amin'ny tranokalako izy niaraka tamin'ny popup lehibe sy fampitandremana kaody ratsy. Ampy hampatahotra olona iray izany, ka nanomboka nanao fitiliana aho. Tsy nisy diso ny tranokalako - ny olana dia ny rohy.

Ny rohy amin'ny vohikala iray hafa dia namokatra bara-fitaovana eo an-tampony izay nandrisika ny olona hanindry rohy maloto rehefa mampiditra ny tranokalako ao anaty iframe eo ambany. Ho an'ny ankamaroan'ny olona, ​​toa manaparitaka kaody ratsy ny tranokalako. Tsy hilaza aho fa tiako izay tranonkala mametaka ny tranokalako ao anatin'ny iframe, noho izany dia nanao izay mety hataon'ny geek rehetra aho… Nametraka rindrankajy aho.

Tsy ratsy foana anefa ny fandrafetana ny tranokalanao. Nizara fitaovana izahay vao haingana, Sniply, hanampiana antso ho amin'ny hetsika (CTA) amin'ny rohin-tranonkala zarainao. Manao izany amin'ny alàlan'ny fampidirana ny tranokalanao manontolo amin'ny iframe izy ary mampihatra div amin'ny atiny miaraka amin'ny antso ho amin'ny hetsika.

Saingy tena manokana momba ny atiko sy ny ezaka nataoko aho Martech Zone, noho izany dia tsy tiako hisy olona hiframe ny atiny, na dia amin'ny sehatra fizarana rohy aza. Amin'ny fanaovana fikarohana sasany dia misy fomba vitsivitsy hiatrehana izany.

Ahoana ny fomba hampijanonana ny Iframe amin'ny votoatinao amin'ny JavaScript

Ity kaody JavaScript ity dia manamarina raha ny varavarankely ankehitriny (self) dia tsy varavarankely ambony indrindra (top). Raha tsy izany dia midika izany fa ao anaty frame, iframe, na mitovitovy ny pejy, ary ny script dia mamindra ny varavarankely ambony indrindra mankany amin'ny URL ny varavarankely ankehitriny. Izany dia mahomby mipoitra ny iframe.

<script type='text/javascript'>
if (top !== self) top.location.href = self.location.href;
</script>

Misy lasopy maromaro amin'ity fomba ity:

  1. Fiankinana amin'ny JavaScript: Raha manana JavaScript kilema ny mpampiasa dia tsy mandeha ity fomba ity.
  2. fahatarana: Mety hisy fahatarana kely alohan'ny hanatanterahan'ny JavaScript, izay mbola mety ho hita ny kinova voarafitra amin'ny tranokalanao.
  3. Fameperana Cross-Origin: Amin'ny toe-javatra sasany, ny Same Origin Policy dia mety manakana ity script ity tsy hiasa araka ny tokony ho izy. Raha any amin'ny sehatra hafa ny antontan-taratasin'ny ray aman-dreny dia mety tsy ho afaka miditra top.location.href.
  4. Mety ho an'ny Frame-Busting-Busters: Misy ihany koa ny sora-baventy (antsoina hoe frame-busting-busters) izay afaka manakana ny fanoratana frame-busting tsy hiasa.

Ny fomba tsara kokoa dia ny fampiasana lohatenin'ny valinteny HTTP.

X-Frame-Options sy Content-Security-Policy

samy X-Frame-Options ary Content-Security-Policy (CSP) dia lohatenin'ny valinteny HTTP ampiasaina hanatsarana ny fiarovana ny tranokala. Samy manana tanjona samihafa izy ireo ary samy manana ny haavon'ny fahaiza-manaony.

X-Frame-Options dia lohatenin'ny HTTP taloha natao manokana hifehezana raha azo ampidirina ao anaty a <frame>, <iframe>, <embed>, na <object> amin'ny tranokala hafa. Misy torolalana telo azo atao:

  1. DENY - Ny pejy dia tsy azo aseho amin'ny frame, na inona na inona tranonkala manandrana manao izany.
  2. SAMEORIGIN – Ny pejy dia tsy azo aseho afa-tsy amina frame iray mitovy fiaviana amin'ny pejy.
  3. ALLOW-FROM uri - Ny pejy dia tsy azo aseho afa-tsy amin'ny sary eo amin'ny fiaviana voatondro.

Na izany aza, X-Frame-Options voafetra amin'ny hoe tsy mahazaka toe-javatra sarotra kokoa, toy ny famelana ny fandrafetana avy amin'ny fiaviana maro samihafa na ny fampiasana kara-tany ho an'ny zana-tohatra. Tsy ny navigateur rehetra no manohana ny ALLOW-FROM toromarika.

Content-Security-Policy, etsy ankilany, dia lohatenin'ny HTTP mora kokoa sy matanjaka kokoa. Na dia afaka manao ny zava-drehetra X-Frame-Options sy ny maro hafa, ny tanjona voalohany dia ny hisorohana ny fanafihana fanindronana kaody isan-karazany, ao anatin'izany ny scripting cross-site (XSS) ary clickjacking. Izy io dia miasa amin'ny famaritana lisitra fotsy misy loharano azo itokisana (soratra, fomba, sary, sns.).

Ho an'ny fanaraha-maso ny frame, CSP dia mampiasa ny frame-ancestors toromarika. Azonao atao ny mamaritra loharano maro, anisan'izany ny sehatra maro sy ny zana-tohatra wildcard. Ity misy ohatra iray:

cssCopy codeContent-Security-Policy: frame-ancestors 'self' yourdomain.com *.domain2.com;

Izany dia mamela ny pejy ho voarafitra amin'ny tranokalany manokana ('self'), amin'ny yourdomain.com, ary amin'ny zana-tohatra rehetra amin'ny domain2.com.

CSP no atolotra ho solon'ny X-Frame-Options, satria mahazaka ny zava-drehetra X-Frame-Options azo atao, sy ny maro hafa. Na dia manohana ny CSP aza ny ankamaroan'ny navigateur maoderina, dia mety mbola misy mpitety tranonkala tranainy na tsy dia mahazatra loatra izay tsy manohana azy tanteraka.

Ahoana ny fomba hampitsaharana ny fametahana ny votoatinao amin'ny HTML

Efa misy meta tag votoaty-Security-Policy izay azo apetraka izay manakana ny fahafahana manamboatra ny atiny:

<meta http-equiv="Content-Security-Policy" content="frame-ancestors 'self' yourdomain.com">

Ny fahombiazan'ny HTML meta tag dia voafetra satria tsy ny navigateur rehetra no manaja ny Content-Security-Policy rehefa napetraka mampiasa meta tag.

Ahoana ny fomba hampijanonana ny fametahana ny atiny amin'ny lohatenin'ny HTTP

Tsara kokoa ny mampiasa ny lohatenin'ny HTTP X-Frame-Options or Content-Security-Policy hifehy framing. Ireo safidy ireo dia azo ianteherana kokoa, ary azo antoka, ary miasa na dia tsy miasa aza ny JavaScript. Ny fomba JavaScript dia tokony hampiasaina ho fomba farany ihany raha tsy mahafehy ny lohamilina ianao hametraka lohapejy HTTP. Ho an'ny ohatra tsirairay, soloy yourdomain.com miaraka amin'ny sehatra misy anao.

Apache - Ovao ny anao .htaccess asio toy izao:

Header always set X-Frame-Options SAMEORIGIN
Header always set Content-Security-Policy "frame-ancestors 'self' yourdomain.com"

Nginx - Ovao ny sakana mpizara anao toy izao manaraka izao:

add_header X-Frame-Options SAMEORIGIN;
add_header Content-Security-Policy "frame-ancestors 'self' yourdomain.com";

II - Ataovy izany amin'ny fampidirana ireto manaraka ireto amin'ny anao web.config file:

<system.webServer>
  <httpProtocol>
    <customHeaders>
      <add name="Content-Security-Policy" value="frame-ancestors 'self' yourdomain.com" />
    </customHeaders>
  </httpProtocol>
</system.webServer>

WordPress – Ataovy izany amin'ny fampidirana ity code ity amin'ny rakitra functions.php anao:

function add_security_headers() {
  header('X-Frame-Options: SAMEORIGIN');
  header("Content-Security-Policy: frame-ancestors 'self' yourdomain.com");
}
add_action('send_headers', 'add_security_headers');

Ireo fanefena ireo dia hamela ny pejinao hiditra ao anatin'ny iframes amin'ny sehatra voafaritrao manokana, fa tsy amin'ny zana-tohatra rehetra. Raha te-hamela zana-tohatra sasany ianao dia tsy maintsy mitanisa azy ireo mazava tsara, toy ny subdomain1.yourdomain.com subdomain2.yourdomain.com, sy ny sisa.

Avelao Iframing ny votoatinao avy amin'ny sehatra maro

Azonao atao ny mamaritra sehatra maromaro miaraka amin'ny lohatenin'ny valin'ny HTTP Content-Security-Policy sy ny torolàlana momba ny razambe. Tokony hampisaraka ny sehatra tsirairay ny habaka. Ity misy ohatra iray:

Content-Security-Policy: frame-ancestors 'self' domain1.com domain2.com domain3.com;

Apache - Ovao ny anao .htaccess asio toy izao:

Header always set X-Frame-Options SAMEORIGINHeader always set Content-Security-Policy "frame-ancestors 'self' domain1.com domain2.com domain3.com"

Nginx - Ovao ny sakana mpizara anao toy izao manaraka izao:

add_header X-Frame-Options SAMEORIGIN;add_header Content-Security-Policy "frame-ancestors 'self' domain1.com domain2.com domain3.com";

II - Ataovy izany amin'ny fampidirana ireto manaraka ireto amin'ny anao web.config file:

<system.webServer>
  <httpProtocol>
    <customHeaders>
      <add name="X-Frame-Options" value="SAMEORIGIN" />
      <add name="Content-Security-Policy" value="frame-ancestors 'self' domain1.com domain2.com domain3.com" />
    </customHeaders>
  </httpProtocol>
</system.webServer>

Avelao Iframing ny atiny avy amin'ny sehatra Wildcard

Azonao atao koa ny manendry wildcard ho an'ny zana-tohatra rehetra miaraka amin'ny Content-Security-Policy Lohatenin'ny valinteny HTTP sy ny torolalana momba ny razambe. Ireto misy ohatra amin'ny Content-Security-Policy kaody mila havaozina:

Content-Security-Policy: frame-ancestors 'self' *.yourdomain.com;

Apache - Ovao ny anao .htaccess asio toy izao:

Header always set Content-Security-Policy "frame-ancestors 'self' *.yourdomain.com"

Nginx - Ovao ny sakana mpizara anao toy izao manaraka izao:

add_header Content-Security-Policy "frame-ancestors 'self' *.domain1.com *.domain2.com *.domain3.com";

II - Ataovy izany amin'ny fampidirana ireto manaraka ireto amin'ny anao web.config file:

<system.webServer>
  <httpProtocol>
    <customHeaders>
      <add name="Content-Security-Policy" value="frame-ancestors 'self' *.yourdomain.com" />
    </customHeaders>
  </httpProtocol>
</system.webServer>

Douglas Karr

Douglas Karr dia CMO ny OpenINSIGHTS ary ny mpanorina ny Martech Zone. Nanampy tamin'ny fanombohana MarTech am-polony maro i Douglas, nanampy tamin'ny fahazotoana mitentina 5 miliara dolara amin'ny fividianana sy fampiasam-bola Martech, ary manohy manampy ireo orinasa amin'ny fampiharana sy ny automatique ny paikady momba ny varotra sy ny varotra. Douglas dia fanovàna nomerika eken'ny sehatra iraisam-pirenena ary manampahaizana sy mpandahateny MarTech. Douglas dia mpanoratra navoakan'ny torolàlana Dummie ary boky fitarihana orinasa.

Related Articles

Miverina amin'ny bokotra ambony
akaiky

Adblock hita

Martech Zone dia afaka manome anao ity votoaty ity tsy misy vidiny satria ataonay vola ny tranokalanay amin'ny alàlan'ny fidiram-bolan'ny doka, ny rohy mifandray, ary ny fanohanana. Mankasitraka izahay raha esorinao ny fanakanana dokao rehefa mijery ny tranokalanay ianao.