Portaali manustamine teisele veebisaidile iframe'i abil
Portaalirakenduste üks levinumaid viise on portaali funktsioonide manustamine teisele veebisaidile. Tavaliselt on teine veebisait juba olemas, kuid soovite laiendada selle sobimatust ja lisada uusi funktsioone, mis töötavad teie andmetega portaalirakenduse kaudu.
Selle stsenaariumi puhul on hõlpsam manustada portaali funktsioone, mitte luua seda nullist. See artikkel selgitab etappe portaalirakenduse manustamiseks muule veebisaidile iframe'i abil.
1. etapp. Iframe'i portaali lubamine
Iframe'id on uutes portaalides vaikimisi keelatud, tagamaks, et keegi ei saa teie portaali rakendust väliselt manustada, katseks "klõpsamist" üle vaadata.
Seadistage HTTP vastuse päis. Saate valida kas sisu-turbepoliitika (CSP) paneeli levaatuse direktiivi (soovitatav) või X-paneeli suvandid.
Märkus
Sisu- ja turbepoliitika raamiga sisustatud sisu on asendatud X-Frame suvanditega ja see on selles artiklis kirjeldatud meetod.
Määrake saidi säte, et lubada HTTP-päis HTTP/sisu-turbepoliitika. Lisateave: HTTP portaali päise seadistamine
Väärtuse komplektis kirjeldatud süntaksi CSP: raamid et seada väärtus.
Näiteks selleks, et lubada portaali, mille saab manustada iframe'i abil
www.contoso.comveebisaidile, näeb säte välja järgmine:Content-Security-Policy: frame-ancestors 'self' <https://www.contoso.com>;Märkus
String on oluline; ilma selleta ei saa portaal manustada oma lehti, mis on tavaliselt nõutavad stsenaariumides, näiteks põhivormide
'self'modaalsed hüpikmenüüd.On oluline piirata portaali iframe'i manustamise võimalust kindlate kohtade jaoks, mitte metamärgiga (*).
CSP koosneb sisestatud sisestatud sisust, mille väärtused sõltuvad erinevatest teguritest (nt sellest, kust skripte laaditakse). See artikkel ei hõlma seda teavet, kuna see on rakendamiseks omane. Siiski soovitame teil seda seadistust esmalt mittetootmise portaalis testida, et leida brauseri konsooli tõrkeid, et tuvastada probleemid, mida peate parandama, ja kohandage sätet.
Määrake portaali küpsiste Samasait vaikeväärtuseks Pole.
Atribuut SamaSait küpsiseid kasutada on kasulik saidi kaitsmiseks saitidevahelise taotluste võltsimise (CSRF) rünnakute eest. Kuid see tähendab ka, et saiti ei saa iframe'i manustada stsenaariumides, näiteks juhul, kui sait nõuab kasutaja autentimist või sisaldab dünaamilisi komponente, nagu vormid või loendid.
Seetõttu peate portaali manustamiseks iframe'i muutma portaali SameSite küpsise atribuudi vaikeväärtuseks Pole. Lisateave: SamaSait režiimi muutmine
Märkus
Samade saidi küpsisete märkimine Puuduvaks ei muuda teie portaali CSRF rünnakute suhtes haavatavaks, sest portaalide platvorm kasutab nende rünnakute vältimiseks CSRF-vastaseid märke.
2. etapp. Teie portaali manustamine
Pärast eelmise etapi lõpule viimist on portaali kogemuse manustamiseks vaja vastavalt vajadusele kasutada HTML iframe silti et manustada kogu sait või konkreetsed lehed.
Soovitame portaali domeeninimi olla selle saidi domeeninimi, kus te portaali iframe'i manustate, domeeninimi või laps. Näiteks kui teie juursait on www.contoso.com, peab portaali domeeninimi olema portal.contoso.com. On oluline tagada, et portaalis kasutatavaid küpsiseid ei klassifitseeritaks kolmanda osapoole küpsiste ja et brauser seda blokeeriks (ajaveeb). Muidu ei pruugi sellised funktsioonid nagu Captcha ja vormi põhi-/täiustatud ümber suunamine korralikult töötada. Portaalis kohandatud domeeninime häälestamiseks minge kohandatud domeeni nime lisamine.
3. etapp. Päiste ja jaluste käsitsemine
Saate muuta päiste ja jaluste kuvamist—või seda, kas need kuvatakse üldse—manustatud portaali lehtedel.
Manustatud portaali päiste ja jaluste kuvamine
See on levinud peamise saidi puhul, kuhu soovite portaali manustada, et sellel oleks juba päised ja jalused. Sellisel juhul ei pruugi te soovite kuvada manustatud portaali päist ja jalust. Kaaluge järgmisi stsenaariume:
Kui kogu portaal on manustatud iframe'i
Eemaldage päise ja jaluse sisu, värskendades vastava päise ja jaluse veebimalle.Kui spetsiaalse portaali leht on manustatud iframe'i
Tavaliselt ei soovi te veebisaidile kindla lehe manustamise korral kuvada portaali päist ega jalust. Siiski soovite, et päis ja jalus oleks saadaval, kui kasutaja portaali otse läheb. Selle saavutamiseks muutke päiseid ja jaluseid, et neid saaks dünaamiliselt lehe sisu põhjal renderdada.
Tingimusliku koodi lisamine päisesse ja jalusesse
Päise ja jaluse veebimallid toetavad täielikku likviidseid kohandusi, nii et saate teatud atribuutide renderdamiseks lisada tingimusliku koodi.
Järgmine kood näiteks kuvab päises otsinguriba, kui leht pole otsinguleht.
Oluline
Kuna päis on element, mis on kõigil lehtedel levinud, page.id salvestatakse need vaikimisi kasutaja avatud esimese lehe vahemällu. Seetõttu kasutatakse selles koodis märgendit tagamaks, et neid elemente ei salvestata vahemällu, ja seda hinnataks alati praegusel lehel.
{% substitution %}
{% assign current_page = page.id %}
{% assign sr_page = sitemarkers[Search].id %}
{% if current_page == sr_page %}
{% assign section_class = section-landing-search %}
<section class=page_section section-landing-{{ current_page }} {{ section_class | h }} color-inverse\>
<div class=container\>
<div class=row \>
<div class=col-md-12 text-center\>
{% if current_page == sr_page %}
<h1 class=section-landing-heading\>{% editable snippets 'Search/Title' default:resx["Discover_Contoso"] %}\</h1\>
{% include 'Search' %}
{% endif %}
</div\>
</div\>
</div\>
</section\>
{% endif %}
{% endsubstitution %}
Tingimusliku koodi lisamise alternatiivina päisesse ja jalusesse võite kaaluda ka järgmisi meetodeid. Siiski ei soovita me kumbaagi lähenemist; neil mõlemal on piirangud ja kumbki ei toeta kõiki funktsioone.
- Nende kirjutuskaitstud stsenaariumide puhul, mis ei sisalda loendeid ega vorme, keelake malli päis ja jalus.
- Kasutage spetsiaalset ülekirjutamise malli (
~/Areas/Portal/Pages/Form.aspx).
Vt ka
Saidi sätete konfigureerimine portaalide jaoks
Asendusmalli silt
Päise ja jaluse väljundi vahemällu salvestamise lubamine portaalis
SamaSait režiim
HTTP portaali päise seadistamine