Beans html-moduler php-navn. Jdoc:include - metode for å vise innhold på siden. Legge til enkle skråstreker

Vi har kort berørt temaet metoder for å vise innhold i brødteksten til en mal. La oss nå se nærmere på hva det er og hva det spises med. Så metodeerklæringer jdoc er til stede i hver Joomla-mal og vis denne eller den informasjonen i brødteksten i malen (det vil si på sidesiden). Generelt ser metodeerklæringen slik ut:

Denne linjen viser informasjon fra komponenter på nettstedet, for eksempel artikler fra com_content. Typen utdataelementer er spesifisert i attributtet.

1. type - typer utgangselementer.

  • komponent- som jeg skrev ovenfor, viser hovedinnholdet på siden. Kan kun kalles én gang per mal.
  • hode- annonseres også en gang etter åpningstaggen . Viser stiler, skript, og metadata for gjeldende side.</li><li><i>beskjed</i><i>- </i> viser systemmeldinger. Erklært én gang i hoveddelen av dokumentet.</li><li><i>installasjon</i>- viser ikke noe og er en "instruksjon" for installasjon.</li><li><i>modul -</i> viser en enkelt modul på siden. Antall annonser er ubegrenset.</li><li><i>moduler</i>- i motsetning til den forrige typen, lar den deg vise mer enn et enkelt antall moduler i sin posisjon.</li> </ul><p>For de fire første typene som er oppført, trenger du bare å angi dem på siden. Når det gjelder modultypen, blir oppgaven litt mer komplisert. For å vise en modul på siden, må vi først lage en modul for den <b>modulær posisjon</b> med en unik identifikator (modulposisjonsnavn). Dette gjøres ved å bruke attributtet name="posisjonsnavn" og det obligatoriske tillegget av linjen:</p><p> <position>stillingsnavn</position> til filen templateDetails.xml. Ved å beskrive navnet på stillingen i templateDetails.xml, angir vi det i systemet og ser det i modulbehandleren. Navnene på posisjonene kan være vilkårlige, selv om navnet = "bruker3"-posisjonen brukes som standard for å vise toppmenyen.</p><p><b>2. stil - beskrivelse av utdatastilen (mod krom).</b></p> <p>Avhenger av den angitte stilen <a href="https://5visa.ru/no/multimedia/raskladnoi-planshet-lenovo-folio-predstavila-skladnoi-planshet-i-smartfon.html">utseende</a> og modulskallstruktur. Ser ut som</p><p> :<jdoc:include type="modules" name="user1" style="xhtml" />Som standard er det flere stiler for modulutgang:</p><ul><li><i>xhtml -</i> viser modulen i en blokk med tittelfunksjonen modChrome_xhtml($module, &$params, &$attribs) <br>{<br>if (!tom ($modul->innhold)) : ?> <br> <div class="moduletable<?php echo htmlspecialchars($params->get("modulklasse_sfx")); ?>"> <br> <?php if ($module->showtitle != 0) : ?> <br> <h3><?php echo $module->tittel; ?></h3><br> <?php endif; ?><br> <?php echo $module->innhold; ?> <br> </div><br> <?php endif;<br>}</li><li><i>bord -</i> viser modulen i et tabellstrukturoppsett <br>funksjon modChrome_table($modul, &$params, &$attribs) <br>{ ?><br> <table cellpadding="0" cellspacing="0" class="moduletable<?php echo htmlspecialchars($params->get("modulklasse_sfx")); ?>"> <br> <?php if ($module->showtitle != 0) : ?> <br> <tr><br> <th><br> <?php echo $module->tittel; ?> <br> </th><br> </tr><br> <?php endif; ?><br> <tr><br> <td><br> <?php echo $module->innhold; ?> <br> </td><br> </tr><br> </table><br> <?php<br>}</li><li><i>horz -</i> viser innholdet i en modul i en tabellcelle, horisontalt funksjon modChrome_horz($modul, &$params, &$attribs) <br>{ ?><br> <table cellspacing="1" cellpadding="0" width="100%"><br> <tr><br> <td><br> <?php modChrome_table($module, $params, $attribs); ?><br> </td><br> </tr><br> </table><br> <?php<br>}</li><li><i>avrundet</i>- viser modulen i flere nestede blokker for kompleks stiling i form av grafiske kanter (f.eks. avrundede hjørner) funksjon modChrome_rounded($module, &$params, &$attribs) <br>{ ?><br> <div class="module<?php echo htmlspecialchars($params->get("modulklasse_sfx")); ?>"> <br> <div><br> <div><br> <div><br> <?php if ($module->showtitle != 0) : ?> <br> <h3><?php echo $module->tittel; ?></h3><br> <?php endif; ?><br> <?php echo $module->innhold; ?> <br> </div><br> </div><br> </div><br> </div><br> <?php<br>}</li><li><i>disposisjon</i>- legger til forhåndsinnstilte css-stiler til modulblokkfunksjonen modChrome_outline($module, &$params, &$attribs) <br>{<br>statisk $css=false; <br>hvis (!$css) <br> {<br>$css=true; <br>jimport("joomla.miljø.nettleser"); <br>$doc = JFactory::getDocument(); <br>$browser = JBrowser::getInstance(); <br>$doc->addStyleDeclaration(".mod-preview-info (polstring: 2px 4px 2px 4px; kantlinje: 1px helt svart; posisjon: absolutt; bakgrunnsfarge: hvit; farge: rød;)"); <br>$doc->addStyleDeclaration(".mod-preview-wrapper (bakgrunnsfarge:#eee; kantlinje: 1px stiplet svart; farge:#700;)"); <br>if ($browser->getBrowser()=="msie") <br> {<br>if ($browser->getMajor()<= 7) {<br>$doc->addStyleDeclaration(".mod-preview-info (filter: alpha(opacity=80);)"); <br>$doc->addStyleDeclaration(".mod-preview-wrapper (filter: alpha(opacity=50);)"); <br> } <br>ellers( <br>$doc->addStyleDeclaration(".mod-preview-info (-ms-filter: alpha(opacity=80);)"); <br>$doc->addStyleDeclaration(".mod-preview-wrapper (-ms-filter: alpha(opacity=50);)"); <br> } <br> } <br>ellers <br> {<br>$doc->addStyleDeclaration(".mod-preview-info (opasitet: 0.8;)"); <br>$doc->addStyleDeclaration(".mod-preview-wrapper (opasitet: 0.5;)"); <br> } <br> } <br> ?><br> <div class="mod-preview"><br> <div class="mod-preview-info"><?php echo $module->posisjon."[".$modul->stil."]"; ?></div><br> <div class="mod-preview-wrapper"><br> <?php echo $module->innhold; ?> <br> </div><br> </div><br> <?php<br>}</li><li><i>ingen</i>- lignende stil som ikke er spesifisert i det hele tatt. Viser en modul uten design og tittelfunksjon modChrome_none($module, &$params, &$attribs) <br>{<br>echo $module->innhold; <br>}</li> </ul><p>Alle forhåndsinnstilte stiler er plassert i filen templates/system/html/modules.php. Men vi er ikke begrenset til å bruke bare de oppgitte alternativene, men er ganske i stand til å lage våre egne.</p> <p><b>3. Lag en egendefinert krommodus.</b></p> <p><b><br></b> Så standard modulrepresentasjonstypene som tilbys, oppfyller ikke gjeldende krav. Du må legge til din egen designstil. Som et eksempel, la oss velge en situasjon som ofte gjentas. Ifølge oppgaven, i stedet for <h3>legg inn modultittelen i taggen <span>, som er semantisk nøytral. Du må også plassere modulinnholdsblokken i en separat <div>. For å lage din egen modulutdatastil, vil vi bruke standardverktøy. De fleste Joomla-maler har en html/-mappe (maler/malnavn/html/), som brukes til såkalt maling. Det vil si at hvis du kopierer en modulmal til denne mappen, vil filen fra maler/malnavn/html/mine_moduler/default bli sendt ut i stedet for malen fra katalogen modules/my_module/tmpl/default. Komponenter er malt på samme måte. Praktisk og praktisk. Lag en fil modules.php i html/-mappen i malen din. Hvis det ikke er en slik mappe i malen, oppretter vi den. La oss skrive det til en fil</p><p> <?php<br>function modChrome_modbox($modul, &$params, &$attribs) // Kalle opp funksjonen <br>{<br>if (!empty ($module->content)) : /* Sjekk om posisjonen inneholder en aktivert modul */?> <br> <div class="moduletable<?php echo htmlspecialchars($params->get("modulklasse_sfx")); /* vis css-suffikset til modulklassen */ ?>"> <br> <?php if ($module->showtitle != 0) : /* sjekk om modultittelen er inkludert */ ?> <br> <span class="title"><?php echo $module->tittel; /* Skriv ut tittelen */ ?></span><br> <?php endif; ?><br> <div class="modcontent"><br> <?php echo $module->innhold; /* Skriv ut innholdet i modulen */ ?> <br> </div><br> </div><br> <?php endif;<br>} <br>?> Ferdig. Nå trenger du bare å spesifisere den som utdatastil. <jdoc:include type="modules" name="user1" style="modbox"/>Vi tildeler en modul til vår stilling og ser på resultatet.</p> <p>En av de flotte tingene med PHP er måten det fungerer med HTML-skjemaer. Hovedsaken her er at hvert skjemaelement automatisk blir tilgjengelig for PHP-programmene dine. For detaljert informasjon om bruk av skjemaer i PHP, les delen. Her er et eksempel på et HTML-skjema:</p> <p><b>Eksempel #1 Enkleste HTML-skjema</b></p> <p><form action="action.php" method="post"> <p>Navnet ditt: <input type="text" name="name" /></p> <p>Din alder: <input type="text" name="age" /></p> <p><input type="submit" /></p> </form></p> <p>Det er ikke noe spesielt med denne formen. Dette er et vanlig HTML-skjema uten noen spesielle tagger. Når brukeren fyller ut skjemaet og klikker på send-knappen, vil action.php-siden bli kalt opp. Denne filen kan ha noe sånt som:</p> <p><b>Eksempel #2 Viser skjemadata</b></p> <p>Hallo,<?php echo htmlspecialchars ($_POST [ "name" ]); ?> .<br>Til deg<?php echo (int) $_POST [ "age" ]; ?>år.</p> <p>Eksempel på utdata fra dette programmet:</p> <p>Hei, Sergey. Du er 30 år gammel.</p> <p>Hvis du ikke tar hensyn til kodebitene med <span>htmlspecialchars()</span> Og <i>(int)</i>, bør driftsprinsippet til denne koden være enkelt og forståelig. <span>htmlspecialchars()</span> Sikrer at "spesielle" HTML-tegn er riktig kodet slik at skadelig HTML eller Javascript ikke settes inn på siden din. Aldersfeltet, som vi vet skal være et tall, kan vi ganske enkelt konvertere til <span>heltall</span>, som automatisk blir kvitt uønskede tegn. PHP kan også gjøre dette automatisk ved å bruke filterutvidelsen. Variablene $_POST["navn"] og $_POST["alder"] settes automatisk for deg av PHP. Tidligere brukte vi $_SERVER superglobal variabel, men her bruker vi også $_POST superglobal variabel, som inneholder alle POST-dataene. Legg merke til det <i>sendemetode</i>(metoden) av skjemaet vårt er POST. Hvis vi brukte metoden <i>FÅ</i>, så vil skjemainformasjonen vår være i den superglobale variabelen $_GET . Alternativt kan du bruke variabelen $_REQUEST hvis datakilden ikke spiller noen rolle. Denne variabelen inneholder en blanding av GET, POST, COOKIE-data.</p> <p><b>15 år siden</b></p> <p>I henhold til HTTP-spesifikasjonen bør du bruke POST-metoden når du bruker skjemaet til å endre tilstanden til noe på serverenden. For eksempel, hvis en side har et skjema som lar brukere legge til sine egne kommentarer, som dette siden her, skal skjemaet bruke POST. Hvis du klikker "Last inn på nytt" eller "Oppdater" på en side du nådde gjennom en POST, er det nesten alltid en feil -- du bør ikke legge ut den samme kommentaren to ganger -- som er grunnen til at disse sidene ikke er bokmerket eller bufret.</p><p>Du bør bruke GET-metoden når skjemaet ditt, vel, fjerner noe fra serveren og faktisk ikke endrer noe. For eksempel bør skjemaet for en søkemotor bruke GET, siden søk på et nettsted ikke skal endre noe som klienten kanskje bryr seg om, og bokmerking eller bufring av resultatene av en søkemotorspørring er like nyttig som bokmerking eller hurtigbufring. en statisk HTML-side.</p> <p><b>2 år siden</b></p> <p>Verdt å presisere:</p><p>POST er ikke sikrere enn GET.</p><p>Årsakene til å velge GET vs POST involverer ulike faktorer som hensikten med forespørselen (sender du informasjon?), størrelsen på forespørselen (det er grenser for hvor lang en URL kan være, og GET-parametere sendes inn URL-en), og hvor enkelt du vil at handlingen skal være delbar -- Eksempel: Google-søk er GET fordi det gjør det enkelt å kopiere og dele søket med noen andre ved å dele nettadressen.</p><p>Sikkerhet er kun en vurdering her på grunn av det faktum at en GET er enklere å dele enn en POST. Eksempel: du vil ikke at et passord skal sendes av GET, fordi brukeren kan dele den resulterende URL-en og utilsiktet avsløre passordet sitt.</p><p>Imidlertid er en GET og en POST like enkle å fange opp av en godt plassert ondsinnet person hvis du ikke distribuerer TLS/SSL for å beskytte selve nettverkstilkoblingen.</p><p>Alle skjemaer som sendes over HTTP (vanligvis port 80) er usikre, og i dag (2017) er det ikke mange gode grunner til at et offentlig nettsted ikke bruker HTTPS (som i utgangspunktet er HTTP + Transport Layer Security).</p><p>Som en bonus, hvis du bruker TLS, minimerer du risikoen for at brukerne dine får kode (AD) injisert i trafikken din som ikke ble lagt der av deg.</p> <p>Dette er en vanlig sårbarhet for PHP-inkludert klasse. Men personen jeg gjorde tilsynet for fortalte meg at denne sårbarheten ikke kan utnyttes, så den teller ikke. Jeg måtte krangle med ham</p> <h2>Hva er PHP-inkluder</h2> <p>La oss gjennomføre et lite pedagogisk program om denne sårbarheten. PHP-include er en sårbarhet som lar deg "inkludere" en vilkårlig fil, for eksempel denne koden:</p> <p>$modul=$_REQUEST["modul"]; include("moduler/".$modul);</p> <p>Og siden det vanligvis ikke er PHP-koder i filen "/etc/passwd" (<?php и?>), så vil den vises i nettleseren, akkurat som html-koden vil bli vist bak php-taggene i et vanlig php-skript. Å lese filer er selvfølgelig bare en av de mulige implementeringene av dette angrepet. Det viktigste er inkluderingen av de nødvendige filene med den nødvendige PHP-koden.</p> <p>La oss gå tilbake til eksemplet. La oss komplisere det:</p> <p>$modul=$_REQUEST["modul"]; include("moduler/".$modul."/module.class.php");</p> <table class="crayon-table"><tr class="crayon-row"><td class="crayon-nums " data-settings="show"> </td> <td class="crayon-code"><p>$modul = $_REQUEST [ "modul" ] ;</p><p>include ("modules/" . $module . "/module.class.php" );</p> </td> </tr></table><p>Som du kan se, legges det nå til en linje i variabelen vår på slutten, som hindrer oss i å inkludere noen fil. Så mange PHP-funksjoner er ikke binærsikre, det vil si at slike funksjoner anser en NULL-byte for å være slutten av en streng. Vi får tilgang til skriptet slik:</p> <p>script.php?module=../../../../../../../../../../../etc/passwd%00</p> <p>Og hvis magic_quotes-direktivet er deaktivert, vil vi igjen se innholdet i /etc/passwd</p> <h2>Er det en sårbarhet?</h2> <p>La oss gå tilbake til koden vår:</p> <p>$modul=addslashes($_REQUEST["modul"]); include("moduler/".$modul."/module.class.php");</p> <table class="crayon-table"><tr class="crayon-row"><td class="crayon-nums " data-settings="show"> </td> <td class="crayon-code"><p>$modul = addslashes ($_REQUEST [ "modul" ] );</p><p>include ("modules/" . $module . "/module.class.php" );</p> </td> </tr></table><p>Som du kan se, blir variabelen vår tvunget til å gå gjennom "addslashes", og hvis vi prøver å bruke en NULL-byte, vil den bli konvertert til "\0" og inkluderingen vil ikke fungere.</p> <p>Men fremgangen står ikke stille! Det viser seg at noen gutter fra USH fant en interessant funksjon i PHP: PHP-filsystemangrepsvektorer (engelsk). For å kort oppsummere kjernen i artikkelen, behandler php stier ved hjelp av flere funksjoner:</p> <ul><li><b>Baneavkorting</b>- php avkorter stistrengen til den angitte lengden MAXPATHLEN (på Windows opptil 270 tegn, på NIX - vanligvis 4096, på BSD - vanligvis 1024)</li> <li><b>Banenormalisering</b>- php behandler banen på en spesiell måte, og fjerner ekstra tegn "/" og "/." og deres forskjellige kombinasjoner</li> <li><b>Reduksjon til kanonisk form</b>- unødvendige overganger fjernes, for eksempel blir "dir1/dir2/../dir3" konvertert til "dir1/dir3/" mens eksistensen av katalogen "dir2" ikke er sjekket, og andre lignende transformasjoner (dvs. fortsettelse av normaliseringen )</li> </ul><p>Nå, i rekkefølge, hva skjer med den passerte banen:</p> <ol><li>Hvis banen er relativ, erstattes først verdiene fra include_path-direktivet</li> <li>Banen trimmes deretter til en viss lengde avhengig av plattformen</li> <li>Banen blir normalisert</li> <li>Stien er redusert til kanonisk form</li> </ol><p>La oss nå prøve å bruke dette. La oss prøve å inkludere en bestemt fil "test.php" som ligger i "modules/"-katalogen. For å gjøre dette, legg til symbolet "/." til slutt. slik at den totale lengden, sammen med filnavnet og verdien fra include_path, åpenbart er større enn 4096 tegn. <br>script.php?module=test.php/././.[...]/././.</p> <p>I dette tilfellet må du gjette slik at hele stistrengen (allerede trimmet) ender med en prikk (viktig!), og ikke med en skråstrek. For å gjøre dette kan du legge til en skråstrek slik: <br></p> <p>Og ett av disse alternativene vil definitivt fungere.</p> <h2>Analyserer</h2> <p>La oss se i rekkefølge på hvilke transformasjoner som vil skje med banen <br>modules/test.php//././.[...]/./././module.class.php <br><i>4200 tegn</i> </p> <p>Det første som skjer med linjen er at verdien fra include_path legges til den: <br>/home/site/public_html/modules/test.php//././.[...]/./././module.class.php <br><i>4223 tegn</i> </p> <p>Strengen avkortes deretter til MAXPATHLEN (la oss si 4096): <br>/home/site/public_html/modules/test.php//././.[...]/./. <br><i>4096 tegn</i> </p> <p>Her kan du se hvorfor det var nødvendig å legge til enda en skråstrek (ellers hadde linjen blitt kuttet av til skråstreken). Nå er denne linjen normalisert, først fjerner du de ekstra skråstrekene: <br>/home/site/public_html/modules/test.php/././.[...]/./. <br><i>4095 tegn</i> </p> <p>Som et resultat får vi den riktige banen til filen vi trenger, og denne banen vil allerede være overført til include, og filen vi trenger vil bli inkludert.</p> <p>Det vil si at dette er hvordan vi vil inkludere vår "test.php"-fil med hell. <br>script.php?module=test.php//././.[...]/././.</p> <p>Dette betyr at sårbarheten ikke er teoretisk. Som et resultat tapte klienten min innsatsen, og jeg vant innsatsen og de 10 rublene vi satset på. Selvfølgelig, i tillegg til 10 rubler, vant jeg også tillit og respekt i klientens øyne, noe som også er viktig.</p> <h2>Notater</h2> <p>Her skal jeg se på et par interessante trekk ved utnyttelse av denne sårbarheten.</p> <h3>Avslutt katalogen</h3> <p>Tenk på denne koden:</p> <p> ) ; </p> <p>La oss hoppe over punktet at du kan bruke RFI og inkludere en fil fra en ekstern server. La oss si "allow_url_include=OFF" på serveren.</p> <p>La oss vurdere en situasjon når vi trenger å inkludere en fil fra katalogen nedenfor: <br>script.php?module=../test.php/././.[...]/././.</p> <p>En slik forespørsel vil generere en feil som fil ikke funnet. Og for å komme rundt dette, må vi kalle det slik: <br>script.php?module=blabla/../../test.php/././.[...]/././.</p> <p>Det var ikke forgjeves jeg beskrev kanoniseringen av stier. Takket være den trenger ikke "blabla"-katalogen å eksistere.</p> <h3>Legge til enkle skråstreker</h3> <p>En oppmerksom leser la nok merke til at jeg i beskrivelsen av normalisering skrev at ekstra skråstreker “/” og prikker med skråstreker “/.” fjernes, så hvorfor ikke bare bruke skråstreker for å unngå unødvendig mas med prikken som slutter på slutten.</p> <p>Alt handler om algoritmene, det vil si en skråstrek med en prikk "/." er helt fjernet. Men med enkle skråstreker er situasjonen litt mer komplisert; under normaliseringen erstattes annenhver skråstrek med ett til det bare er ett (!) skråstrek igjen, eksempel:</p><p>/home/site/public_html/modules/test.php/////////////////// <br><i>57 tegn</i> <br> ↓<br>/home/site/public_html/modules/test.php////////// <br><i>48 tegn</i> <br> ↓<br>/home/site/public_html/modules/test.php///// <br><i>44 tegn</i> <br> ↓<br>/home/site/public_html/modules/test.php/// <br><i>42 tegn</i> <br> ↓<br>/home/site/public_html/modules/test.php// <br><i>41 tegn</i> <br> ↓<br>/home/site/public_html/modules/test.php/ <br><i>40 tegn</i> </p> <h3><b>En liten digresjon:</b></h3> <p>Dessuten, hvis du tar hensyn til mange populære hackressurser, vil du legge merke til denne feilen. Slik jeg forstår det, begynte denne feilen med en artikkel av en viss Raz0r der han foreslo en vektor: <br>index.php?act=../../../../../etc/passwd/////[…]/////</p> <p>Og vær oppmerksom selv på magasinet ][aker gjentok denne feilen i artikkelen sin. Dessuten, selv i den originale USH-artikkelen ble det tydelig skrevet at det ikke er tilrådelig å bruke bare skråstreker, og det er nødvendig at et prikktegn blir igjen på slutten før normalisering. Men enkle skråstreker (selv uten en prikk på slutten) fungerer bare i PHP med Suhosin.</p> <p>Det vil si, bruk en skråstrek med en prikk "/." - en mer universell metode, siden den, i motsetning til skråstrekene "/", fungerer for alle versjoner av php.</p> <h2>Konklusjon</h2> <p>Jeg håper denne artikkelen vil hjelpe deg å forstå at du ikke bør legge igjen selv de minste sårbarhetene i skriptene dine, siden du før eller siden kan utvikle din egen angrepsvektor for dem, noe som kan føre til alvorlige konsekvenser.</p> <p>Em-elementet representerer et tekststykke med vekt. Du kan bruke den til å trekke leserens oppmerksomhet til betydningen av en setning eller et avsnitt. Jeg skal fortelle deg hva dette betyr etter , som beskriver em-elementet.</p><blockquote><b>Tabell 8-6:</b> em element</blockquote><blockquote><b>Figur 8-3:</b> Bruke em-elementet</blockquote><p>I dette eksemplet legger jeg vekt på I (I) i begynnelsen av setningen. Hvis vi tenker på em-elementet, når vi sier en setning høyt, vurderer vi det faktum at setningen er et svar på et spørsmål. Tenk deg for eksempel at jeg spurte: "Hvem liker epler og appelsiner?" Svaret ditt vil være: "Jeg liker epler og appelsiner." (Når du sier dette høyt og legger vekt på jeg, gjør du det klart at du er en person som liker disse fruktene).</p><p>Men hvis jeg spurte: "Liker du epler og hva annet?" Du kan svare: "Jeg liker epler og appelsiner." I dette tilfellet vil vekten ligge på det siste ordet, og understreke at appelsiner er en annen frukt du liker. Dette alternativet i HTML vil se slik ut:</p><p>Jeg liker epler og <b><em> </b> appelsiner <b></em> </b>.</p><h3>Definisjon av fremmedord og faguttrykk</h3><p>i-elementet betegner et tekststykke som er av en annen karakter enn innholdet rundt. Dette er en ganske vag definisjon, men vanlige eksempler inkluderer ord fra andre språk, tekniske eller vitenskapelige termer, og til og med menneskelige tanker (i motsetning til tale). Elementet i er beskrevet.</p><blockquote><b>Tabell 8-7:</b> Element i</blockquote><blockquote><b>Figur 8-5:</b> Bruke s-elementet</blockquote><br><img src='https://i2.wp.com/storage.smarly.net/html5/8.5.png' width="100%" loading=lazy loading=lazy><h3>Identifisere viktig tekst</h3><p>Det sterke elementet betegner en tekstpassasje som er viktig. Dette elementet er beskrevet i.</p><blockquote><b>Tabell 8-9:</b> Element sterkt</blockquote><blockquote><b>Figur 8-7:</b> Bruke u-elementet</blockquote><br><img src='https://i1.wp.com/storage.smarly.net/html5/8.7.png' width="100%" loading=lazy loading=lazy><h3>Legger til liten skrift</h3><p>Det lille elementet betegner liten skrift og brukes ofte til kvalifikasjoner og presiseringer. B representerer det lille elementet.</p><blockquote><b>Tabell 8-11:</b> element lite</blockquote><blockquote><b>Figur 8-8:</b> Ved å bruke det lille elementet</blockquote><br><img src='https://i1.wp.com/storage.smarly.net/html5/8.8.png' width="100%" loading=lazy loading=lazy><h3>Legge til en hevet skrift og en bunnskrift</h3><p>Du kan bruke sub- og sup-elementene for å betegne henholdsvis hevet og senket skrift. Hevet skrift brukes til å skrive ord på enkelte språk, og både hevet skrift og nedskreven skrift brukes i enkle matematiske uttrykk. Disse elementene er presentert i.</p><blockquote><b>Tabell 8-12:</b> Sub- og sup-elementer</blockquote><blockquote><b>Figur 8-9:</b> Bruke sub- og sup-elementene</blockquote><br><img src='https://i1.wp.com/storage.smarly.net/html5/8.9.png' width="100%" loading=lazy loading=lazy> <script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> <script>document.write("<img style='display:none;' src='//counter.yadro.ru/hit;artfast_after?t44.1;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+";h"+escape(document.title.substring(0,150))+ ";"+Math.random()+ "border='0' width='1' height='1' loading=lazy loading=lazy>");</script> </div> <div class="single-popular"> <div class="single-popular-tit col-lg-12">Populært i kategorien:</div> <div class="single-popular-item col-lg-6 col-md-6 col-sm-6 col-xs-6"> <div class="single-popular-item-wrp"> <img width="150" height="120" src="/uploads/8e694afe297762af56fa10dc9d64eb9d.jpg" class="attachment-sm-widget size-sm-widget wp-post-image" alt="Hvordan lage et karaokeklipp på en datamaskin?"/ loading=lazy loading=lazy> <div class="single-popular-item-tit">Hvordan lage et karaokeklipp på en datamaskin?</div> <a href="https://5visa.ru/no/at/sozdanie-karaoke-svoimi-rukami-kak-sozdat-karaoke-klip-na-kompyutere-eto.html" rel="bookmark" title="Hvordan lage et karaokeklipp på en datamaskin?">lese</a> <div class="clr"> </div> </div> </div> <div class="single-popular-item col-lg-6 col-md-6 col-sm-6 col-xs-6"> <div class="single-popular-item-wrp"> <img width="150" height="120" src="/uploads/d610310bd3744add66d0b4be4dfee6a5.jpg" class="attachment-sm-widget size-sm-widget wp-post-image" alt="Origin-appen kreves for spillet, men den er ikke installert. FIFA 16 krever Origin."/ loading=lazy loading=lazy> <div class="single-popular-item-tit">Origin-appen kreves for å spille, men den er ikke installert FIFA...</div> <a href="https://5visa.ru/no/multimedia/prilozhenie-origin-neobhodimo-dlya-igry-no-ono-ne-ustanovleno-prilozhenie-origin.html" rel="bookmark" title="Origin-appen kreves for spillet, men den er ikke installert. FIFA 16 krever Origin.">lese</a> <div class="clr"> </div> </div> </div> <div class="single-popular-item col-lg-6 col-md-6 col-sm-6 col-xs-6"> <div class="single-popular-item-wrp"> <img width="150" height="120" src="/uploads/30ee436baf8151ff5b776ef4575c45ea.jpg" class="attachment-sm-widget size-sm-widget wp-post-image" alt="Registrere en personlig side på det sosiale nettverket Facebook"/ loading=lazy loading=lazy> <div class="single-popular-item-tit">Registrere en personlig side på det sosiale nettverket Facebook</div> <a href="https://5visa.ru/no/multimedia/zaregistrirovat-dve-stranicy-facebook-na-odin-nomer-registraciya-lichnoi.html" rel="bookmark" title="Registrere en personlig side på det sosiale nettverket Facebook">lese</a> <div class="clr"> </div> </div> </div> <div class="single-popular-item col-lg-6 col-md-6 col-sm-6 col-xs-6"> <div class="single-popular-item-wrp"> <img width="150" height="120" src="/uploads/f19ca0b3b94ccf60b634700168b060f2.jpg" class="attachment-sm-widget size-sm-widget wp-post-image" alt="Hvordan kjøre en enkel Nmap Nmap Scan"/ loading=lazy loading=lazy> <div class="single-popular-item-tit">Hvordan kjøre en enkel Nmap Nmap Scan</div> <a href="https://5visa.ru/no/installation-and-configuration/setevoi-skaner-nmap-i-ego-vozmozhnosti-kak-zapustit-prostoe-skanirovanie.html" rel="bookmark" title="Hvordan kjøre en enkel Nmap Nmap Scan">lese</a> <div class="clr"> </div> </div> </div> <div class="clr"></div> </div> </div>  <div class="sidebar col-lg-3 col-md-4 col-sm-12"> <div class="sidebar-wrp"> <div class="sidebar-wrp-title">Siste artikler</div> <div class="sidebar-wrp-des"> <div class="last-post col-lg-12 col-md-12 col-sm-6 col-xs-6"> <div class="last-post-img"> <img width="60" height="48" src="/uploads/934317c9dc463eca8a068c72103a9d1c.jpg" class="attachment-sm-widget2 size-sm-widget2 wp-post-image" alt="" / loading=lazy loading=lazy> </div> <div class="last-post-tit">Hvordan rotere et bilde noen grader...</div> <div class="clr"></div> <a href="https://5visa.ru/no/internet/kak-povernut-izobrazhenie-v-vorde-i-eshche-neskolko-priemov.html">lese</a> </div> <div class="last-post col-lg-12 col-md-12 col-sm-6 col-xs-6"> <div class="last-post-img"> <img width="60" height="48" src="/uploads/22b772bd41ea5a26bd659632075d8633.jpg" class="attachment-sm-widget2 size-sm-widget2 wp-post-image" alt="" / loading=lazy loading=lazy> </div> <div class="last-post-tit">Deaktiverer annonsering i Yandex-nettleseren Hvor...</div> <div class="clr"></div> <a href="https://5visa.ru/no/tips/kak-otklyuchit-blokirovku-reklamy-v-brauzere-yandeks-otklyuchenie-reklamy-v-yandeks.html">lese</a> </div> <div class="last-post col-lg-12 col-md-12 col-sm-6 col-xs-6"> <div class="last-post-img"> <img width="60" height="48" src="/uploads/fb321d5756cb0506f3cba53b24342950.jpg" class="attachment-sm-widget2 size-sm-widget2 wp-post-image" alt="" / loading=lazy loading=lazy> </div> <div class="last-post-tit">Feilsøker problemer med Wi-Fi-tilkobling på...</div> <div class="clr"></div> <a href="https://5visa.ru/no/problems/shlyuz-ustanovlennyi-po-umolchaniyu-ne-dostupen-ustranenie-problem-s-wi-fi.html">lese</a> </div> <div class="last-post col-lg-12 col-md-12 col-sm-6 col-xs-6"> <div class="last-post-img"> <img width="60" height="48" src="/uploads/adf1bbe784035fed9b433ebb2510db2f.jpg" class="attachment-sm-widget2 size-sm-widget2 wp-post-image" alt="" / loading=lazy loading=lazy> </div> <div class="last-post-tit">Endre passord på Windows 10-profilen</div> <div class="clr"></div> <a href="https://5visa.ru/no/education/pomenyat-parol-na-profile-vindovs-10.html">lese</a> </div> <div class="last-post col-lg-12 col-md-12 col-sm-6 col-xs-6"> <div class="last-post-img"> <img width="60" height="48" src="/uploads/a1f00d0e4dfd0c63b7073715f264f36a.jpg" class="attachment-sm-widget2 size-sm-widget2 wp-post-image" alt="" / loading=lazy loading=lazy> </div> <div class="last-post-tit">Instruksjoner for oppsett av trådløse rutere...</div> <div class="clr"></div> <a href="https://5visa.ru/no/at/pravilnaya-nastroika-wi-fi-routera-asus-rt-g32-instrukciya-po-nastroike.html">lese</a> </div> <div class="last-post col-lg-12 col-md-12 col-sm-6 col-xs-6"> <div class="last-post-img"> <img width="60" height="48" src="/uploads/da305b0b628cd68b021f50a2fe2a3a89.jpg" class="attachment-sm-widget2 size-sm-widget2 wp-post-image" alt="" / loading=lazy loading=lazy> </div> <div class="last-post-tit">Hvordan velge en harddisk og hvilken er bedre å kjøpe...</div> <div class="clr"></div> <a href="https://5visa.ru/no/multimedia/kakaya-skorost-zhestkogo-diska-horoshaya-kak-vybrat-zhestkii-disk-i.html">lese</a> </div> <div class="last-post col-lg-12 col-md-12 col-sm-6 col-xs-6"> <div class="last-post-img"> <img width="60" height="48" src="/uploads/470eb147f848e5af1fb8b95300372a3e.jpg" class="attachment-sm-widget2 size-sm-widget2 wp-post-image" alt="" / loading=lazy loading=lazy> </div> <div class="last-post-tit">Meizu for dummies. Samtaler og adressebok....</div> <div class="clr"></div> <a href="https://5visa.ru/no/internet/meizu-dlya-chainikov-zvonki-i-adresnaya-kniga-storonnie-prilozheniya-dlya.html">lese</a> </div> <div class="last-post col-lg-12 col-md-12 col-sm-6 col-xs-6"> <div class="last-post-img"> <img width="60" height="48" src="/uploads/7a081806d1b8bf3a3ff61c21be94541f.jpg" class="attachment-sm-widget2 size-sm-widget2 wp-post-image" alt="" / loading=lazy loading=lazy> </div> <div class="last-post-tit">Last ned programmet PDFMaster</div> <div class="clr"></div> <a href="https://5visa.ru/no/program/smotret-pdf-faily-skachat-programmu-pdfmaster.html">lese</a> </div> <div class="clr"></div> </div> </div> <div id="text-4" class="widget widget_text sidebar-wrp"> <div class="textwidget"> </div> </div> <div class="clr"></div> </div> </div> </div> </div> <div id="footer"> <div class="container"> <div class="row"> <div class="footer-contacts col-lg-6 col-md-6 col-sm-12 col-xs-12"> <img src="/public/logo.png" loading=lazy loading=lazy> <div class="footer-contacts-tit">5visa.ru <br>Internett. Multimedia. Navigator. Utdanning. AV. Fastvare. Programmer. Råd. Installasjon</div> <div class="footer-soc"> <div class="footer-soc-wrp"> <div class="soc_w"> <a href="https://vk.com/share.php?url=https://5visa.ru/education/bobovye-html-modules-php-name-jdoc-include---metod-otobrazheniya-kontenta-na-stranice.html" class="soc-link vk" target="_blank"></a> <a href="https://www.facebook.com/sharer/sharer.php?u=https://5visa.ru/education/bobovye-html-modules-php-name-jdoc-include---metod-otobrazheniya-kontenta-na-stranice.html" class="soc-link fb" target="_blank"></a> </div> </div> </div> </div> <div class="footer-links col-lg-4 col-md-6 col-sm-12 col-xs-12"> </div> <div class="footer-links col-lg-4 col-md-4 col-sm-4 col-xs-4" style="display: block;"> <ul> <li><a href="">Prosjektutgave</a></li> <li><a href="">Annonsering på nettsiden</a></li> </ul> <ul> <li><a href="https://5visa.ru/no/feedback.html">Kontakter</a></li> <li><a href="https://5visa.ru/no/sitemap.xml">Site Map</a></li> </ul> </div> </div> </div> <div class="copyright">© 2024 Internett. Multimedia. Navigator. Utdanning. AV. Fastvare. Programmer. Råd. Installasjon</div> </div> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script src="https://5visa.ru/wp-content/themes/trudinsp/js/bootstrap.min.js"></script> <script type="text/javascript" src="https://5visa.ru/wp-content/themes/trudinsp/js/SmoothScroll.js"></script> <a id="scroll-to-top" href="#" title="Rull til toppen">Topp</a> <script type='text/javascript' src='https://5visa.ru/wp-content/plugins/contact-form-7/includes/js/jquery.form.min.js?ver=3.51.0-2014.06.20'></script> <script type='text/javascript' src='https://5visa.ru/wp-content/plugins/jquery-smooth-scroll/js/jss-script.min.js?ver=4.8.3'></script> <script type='text/javascript' src='https://5visa.ru/wp-content/plugins/table-of-contents-plus/front.min.js?ver=1509'></script> <script type='text/javascript' src='/wp-includes/js/jquery/ui/effect.min.js?ver=1.11.4'></script> <script type='text/javascript' src='/wp-includes/js/jquery/ui/effect-blind.min.js?ver=1.11.4'></script> <script type='text/javascript'> /* <![CDATA[ */ var stbUserOptions = { "mode":"css","cssOptions":{ "roundedCorners":false,"mbottom":20,"imgHide":"http:\/\/5visa.ru\/wp-content\/plugins\/wp-special-textboxes\/themes\/stb-metro\/minus.png","imgShow":"http:\/\/5visa.ru\/wp-content\/plugins\/wp-special-textboxes\/themes\/stb-metro\/plus.png","strHide":"\u0421\u043a\u0440\u044b\u0442\u044c","strShow":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c"} }; /* ]]> */ </script> <script type='text/javascript' src='https://5visa.ru/wp-content/plugins/wp-special-textboxes/js/wstb.min.js?ver=5.5.101'></script> <script type='text/javascript' src='/wp-includes/js/wp-embed.min.js?ver=4.8.3'></script> <script type="text/javascript" id="slb_context">/* <![CDATA[ */if ( !!window.jQuery ) { (function($){ $(document).ready(function(){ if ( !!window.SLB ) { { $.extend(SLB, { "context":["public","user_guest"]} );} } })} )(jQuery);} /* ]]> */</script> <script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> </body> </html>