Ábhar Margaíochta

Briseadh Iframe: Conas Stop a chur le hIframáil Neamhúdaraithe Do Ábhar

Chuir cuairteoir ar mo shuíomh in iúl dom uair amháin nuair a chliceáil sé ar cheann de mo naisc ar Twitter; tugadh go dtí mo shuíomh é le aníos mór agus rabhadh cód mailíseach. Is leor sin chun eagla a chur ar dhuine éigin, agus mar sin thosaigh mé ag déanamh roinnt tástála. Ní raibh aon rud cearr le mo shuíomh - ba í an nasc an fhadhb.

Tháirg an nasc ar shuíomh eile barra uirlisí in airde a spreag daoine le cliceáil ar nasc mailíseach agus mo shuíomh á lódáil in iframe thíos. D'fhormhór na ndaoine, d'fhéadfadh an chuma ar mo shuíomh go bhfuil cód mailíseach á scaipeadh. Ní déarfainn gur maith liom suíomh ar bith a lódálann mo shuíomh laistigh d’iframe, agus mar sin rinne mé an rud a dhéanfadh geek réasúnta ar bith… lódáil mé briseadh fráma.

Ní i gcónaí mailíseach a dhéantar do shuíomh a chur i bhfeidhm, áfach. Roinneamar uirlis le déanaí, Snip, chun glaoch chun gnímh a chur leis (CTA) chuig aon nasc gréasáin a roinneann tú. Déanann sé é seo trí do shuíomh ar fad a neadú in iframe agus div a chur i bhfeidhm ar d’ábhar leis an nglao chun gnímh.

Ach táim go háirithe faoi m’ábhar agus faoin iarracht atá déanta agam Martech Zone, mar sin níl mé ag iarraidh ar aon duine m'ábhar a iframe, fiú le hardán nasc-roinnte. Agus roinnt taighde á dhéanamh, tá go leor bealaí ann chun é seo a láimhseáil.

Conas d'Ábhar a Stopadh le JavaScript

Seiceálann an cód JavaScript seo an bhfuil an fhuinneog reatha (self) nach í an fhuinneog is airde (top). Mura bhfuil, ciallaíonn sé seo go bhfuil an leathanach i bhfráma, iframe, nó a mhacasamhail, agus atreoraíonn an script an fhuinneog is airde chuig an URL den fhuinneog reatha. Seo go héifeachtach briseann amach den iframe.

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

Tá roinnt míbhuntáistí ag baint leis an gcur chuige seo:

  1. Ag brath ar JavaScript: Má tá JavaScript díchumasaithe ag an úsáideoir, ní oibreoidh an modh seo.
  2. Moill: Is féidir go mbeidh moill bheag ann sula n-imrítear an JavaScript, agus d'fhéadfadh leagan frámaithe do shuíomh a bheith fós le feiceáil lena linn.
  3. Srianta Tras-Thionscnaimh: I gcásanna áirithe, féadfaidh an Beartas um Thionscnamh Comhionann cosc ​​a chur ar an script seo oibriú mar a bhí beartaithe. Má tá an doiciméad tuismitheora ar fhearann ​​eile, seans nach mbeidh sé in ann rochtain a fháil air top.location.href.
  4. Poitéinseal do Mhúineadh Frámaí: Tá scripteanna ann freisin (ar a dtugtar fráma-busting-busters) ar féidir leo cosc ​​a chur ar scripteanna briseadh frámaí oibriú.

Is é an cur chuige is fearr ná ceanntásca freagartha HTTP a úsáid.

X-Frame-Options agus Ábhar-Slándáil-Polasaí

An dá X-Frame-Options agus Content-Security-Policy (CSP) is ceanntásca freagartha HTTP iad a úsáidtear chun slándáil láithreáin ghréasáin a fheabhsú. Feidhmíonn gach ceann acu cuspóirí beagán difriúil agus tá leibhéil éagsúla solúbthachta acu.

X-Frame-Options Is ceanntásc HTTP níos sine é atá deartha go sonrach chun a rialú an féidir do shuíomh a neadú in a <frame>, <iframe>, <embed>, Nó <object> ar shuíomh eile. Tá trí threoir fhéideartha ann:

  1. DENY – Ní féidir an leathanach a thaispeáint i bhfráma, beag beann ar an suíomh atá ag iarraidh é sin a dhéanamh.
  2. SAMEORIGIN – Ní féidir an leathanach a thaispeáint ach i bhfráma ar an mbunús céanna leis an leathanach féin.
  3. ALLOW-FROM uri – Ní féidir an leathanach a thaispeáint ach i bhfráma ar an mbunús sonraithe.

Mar sin féin, X-Frame-Options teoranta sa mhéid is nach féidir leis cásanna níos casta a láimhseáil, mar shampla frámaí a cheadú ó iliomad bunús éagsúil nó úsáid a bhaint as saoróga le haghaidh fofhearainn. Ní thacaíonn gach brabhsálaí leis an ALLOW-FROM Treoir.

Content-Security-Policy, ar an láimh eile, tá ceanntásc HTTP i bhfad níos solúbtha agus níos cumhachtaí. Cé gur féidir é a dhéanamh gach rud X-Frame-Options is féidir a dhéanamh agus i bhfad níos mó, is é a phríomhchuspóir ná raon leathan ionsaithe instealladh cód a chosc, lena n-áirítear scripteáil tras-láithreáin (XSS) agus cliceáiljacking. Oibríonn sé trí liosta bán d'fhoinsí iontaofa ábhar a shonrú (scripteanna, stíleanna, íomhánna, etc.).

Chun frámaí a rialú, úsáideann CSP an frame-ancestors treoir. Is féidir leat foinsí iolracha a shonrú, lena n-áirítear fearainn iolracha agus fofhearainn saoróg. Seo sampla:

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

Ligeann sé seo an leathanach a fhrámú ar a shuíomh féin ('self'), Ar yourdomain.com, agus ar aon fhofhearann ​​de domain2.com.

Tá CSP á mholadh mar ionadach do X-Frame-Options, ós rud é gur féidir leis gach rud a láimhseáil X-Frame-Options is féidir a dhéanamh, agus i bhfad níos mó. Cé go dtacaíonn formhór na mbrabhsálaithe nua-aimseartha le CSP, d’fhéadfadh go mbeadh roinnt seanbhrabhsálaithe nó brabhsálaithe nach bhfuil chomh coitianta sin ann nach dtacaíonn go hiomlán leo.

Conas Do Ábhar a Stopadh le HTML

Tá meitea-chlib Beartais Inneachair-Slándála ann anois is féidir a imscaradh a dhíchumasaíonn an cumas d’inneachar a leagan amach:

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

Tá éifeachtacht an chlib mheite HTML teoranta toisc nach bhfuil meas ag gach brabhsálaí ar an Content-Security-Policy nuair a shocraítear ag baint úsáide as meta tag.

Conas d'Ábhar a Stopadh le Ceanntásca HTTP

Is fearr na ceanntásca HTTP a úsáid X-Frame-Options or Content-Security-Policy chun frámaíocht a rialú. Tá na roghanna seo níos iontaofa, agus níos sláine, agus oibríonn siad fiú má tá JavaScript díchumasaithe. Níor cheart an modh JavaScript a úsáid ach mar rogha dheireanach mura bhfuil smacht agat ar an bhfreastalaí chun ceanntásca HTTP a shocrú. I gcás gach sampla, cuir in ionad yourdomain.com le d'fhearann ​​iarbhír.

Apache - Athraigh do .htaccess comhad mar a leanas:

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

Nginx - Athraigh do bhloc freastalaí mar a leanas:

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

IIS – déan é seo tríd an méid seo a leanas a chur le do web.config Saghas comhaid:

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

WordPress – déan é seo tríd an gcód seo a chur le do chomhad functions.php:

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');

Ní cheadóidh na cumraíochtaí seo do leathanach a neadú ach amháin laistigh de iframes ar an bhfearann ​​​​beacht a shonraíonn tú, ní ar aon fhofhearainn. Más mian leat fofhearainn áirithe a cheadú, beidh ort iad a liostáil go sainráite, mar shampla subdomain1.yourdomain.com subdomain2.yourdomain.com, Agus mar sin de.

Ceadaigh d'Ábhar a Dhéanamh ó Ilfhearainn

Is féidir leat fearainn iolracha a shonrú leis an gceanntásc freagartha HTTP Ábhar-Slándála-Polasaí agus an treoir fráma-sinsear. Ba cheart spás a scaradh ó gach fearann. Seo sampla:

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

Apache - Athraigh do .htaccess comhad mar a leanas:

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

Nginx - Athraigh do bhloc freastalaí mar a leanas:

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

IIS – déan é seo tríd an méid seo a leanas a chur le do web.config Saghas comhaid:

<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>

Ceadaigh d'Ábhar a Dhéanamh ó Fhearann ​​Saorchárta

Is féidir leat saoróg a shonrú freisin do gach fofhearann ​​leis an Content-Security-Policy Ceanntásc freagartha HTTP agus an treoir fráma-sinsear. Seo samplaí de na Content-Security-Policy cód nach mór a nuashonrú:

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

Apache - Athraigh do .htaccess comhad mar a leanas:

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

Nginx - Athraigh do bhloc freastalaí mar a leanas:

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

IIS – déan é seo tríd an méid seo a leanas a chur le do web.config Saghas comhaid:

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

Douglas Karr

Douglas Karr is CMO de OpenINSIGHTS agus bunaitheoir an Martech Zone. Chuidigh Douglas leis na dosaenacha de ghnólachtaí nuathionscanta MarTech ar éirigh leo, chuidigh sé le dícheall cuí os cionn $5 billiún in éadálacha agus infheistíochtaí Martech, agus leanann sé ag cabhrú le cuideachtaí a gcuid straitéisí díolacháin agus margaíochta a chur i bhfeidhm agus a uathoibriú. Is saineolaí agus cainteoir ar chlaochlú digiteach agus MarTech é Douglas atá aitheanta go hidirnáisiúnta. Is údar foilsithe é Douglas freisin ar threoirleabhar Dummie agus ar leabhar ceannaireachta gnó.

Airteagail gaolmhara

Ar ais go barr an cnaipe
Dún

Braitheadh ​​Adblock

Martech Zone in ann an t-ábhar seo a sholáthar duit gan aon chostas mar go ndéanaimid airgead ar ár suíomh trí ioncam fógraíochta, naisc chleamhnaithe agus urraíochtaí. Bheimis buíoch dá mbainfeá do bhacadóir fógraí agus tú ag féachaint ar ár suíomh.