Beans module html nume php. Jdoc:include - metodă de afișare a conținutului pe pagină. Adăugarea de bare oblice simple

Am atins pe scurt subiectul metodelor de afișare a conținutului în corpul unui șablon. Să aruncăm acum o privire mai atentă la ce este și cu ce se mănâncă. Deci, declarații de metodă jdoc sunt prezente în fiecare șablon Joomla și afișați această sau acea informație în corpul șablonului (adică pe pagina site-ului). În general, declarația metodei arată astfel:

Această linie afișează informații de la componentele de pe site, de exemplu articole din com_content. Tipul elementelor de ieșire este specificat în atribut.

1. tip - tipuri de elemente de ieșire.

  • componentă- așa cum am scris mai sus, afișează conținutul principal al paginii. Poate fi apelat o singură dată pe șablon.
  • cap- se anunta si o data dupa eticheta de deschidere . Servește pentru afișarea stilurilor, scripturilor, și metadatele paginii curente.</li><li><i>mesaj</i><i>- </i> afișează mesajele de sistem. Declarat o dată în corpul documentului.</li><li><i>instalare</i>- nu afișează nimic și este o „instrucțiune” de instalare.</li><li><i>modul -</i> afișează un singur modul pe pagină. Numărul de reclame este nelimitat.</li><li><i>module</i>- spre deosebire de tipul anterior, vă permite să afișați mai mult de un singur număr de module în poziția sa.</li> </ul><p>Pentru primele patru tipuri enumerate, trebuie doar să le indicați pe pagină. În cazul tipului de modul, sarcina devine puțin mai complicată. Pentru a afișa un modul pe pagină, mai întâi trebuie să creăm un modul pentru acesta <b>poziție modulară</b> cu un identificator unic (numele poziției modulului). Acest lucru se face folosind atributul name="nume poziție" și adăugarea obligatorie a liniei:</p><p> <position>numele postului</position>în fișierul templateDetails.xml. Descriind numele poziției în templateDetails.xml, îl desemnăm în sistem și îl vedem în managerul de module. Numele pozițiilor pot fi arbitrare, deși numele = poziția „utilizator3” este folosită implicit pentru a afișa meniul de sus.</p><p><b>2. stil - descrierea stilului de ieșire (mod chrome).</b></p> <p>Depinde de stilul specificat <a href="https://5visa.ru/ro/multimedia/raskladnoi-planshet-lenovo-folio-predstavila-skladnoi-planshet-i-smartfon.html">aspect</a>și structura carcasei modulului. Se pare ca</p><p> :<jdoc:include type="modules" name="user1" style="xhtml" />În mod implicit, există mai multe stiluri de ieșire a modulului:</p><ul><li><i>xhtml -</i> afișează modulul într-un bloc cu funcția de titlu modChrome_xhtml($module, &$params, &$attribus) <br>{<br>dacă (!gol ($modul->conținut)) : ?> <br> <div class="moduletable<?php echo htmlspecialchars($params->get("moduleclass_sfx")); ?>"> <br> <?php if ($module->showtitle != 0) : ?> <br> <h3><?php echo $module->titlu; ?></h3><br> <?php endif; ?><br> <?php echo $module->conţinut; ?> <br> </div><br> <?php endif;<br>}</li><li><i>masa -</i> afișează modulul într-o structură de tabel <br>funcția modChrome_table($modul, &$params, &$attribus) <br>{ ?><br> <table cellpadding="0" cellspacing="0" class="moduletable<?php echo htmlspecialchars($params->get("moduleclass_sfx")); ?>"> <br> <?php if ($module->showtitle != 0) : ?> <br> <tr><br> <th><br> <?php echo $module->titlu; ?> <br> </th><br> </tr><br> <?php endif; ?><br> <tr><br> <td><br> <?php echo $module->conţinut; ?> <br> </td><br> </tr><br> </table><br> <?php<br>}</li><li><i>horz -</i> afișează conținutul unui modul într-o celulă de tabel, funcție orizontală modChrome_horz($module, &$params, &$atribs) <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>rotunjite</i>- afișează modulul în mai multe blocuri imbricate pentru stiluri complexe sub formă de chenare grafice (de exemplu, colțuri rotunjite) funcție modChrome_rounded($module, &$params, &$attribus) <br>{ ?><br> <div class="module<?php echo htmlspecialchars($params->get("moduleclass_sfx")); ?>"> <br> <div><br> <div><br> <div><br> <?php if ($module->showtitle != 0) : ?> <br> <h3><?php echo $module->titlu; ?></h3><br> <?php endif; ?><br> <?php echo $module->conţinut; ?> <br> </div><br> </div><br> </div><br> </div><br> <?php<br>}</li><li><i>contur</i>- adaugă stiluri CSS prestabilite la funcția bloc modulului modChrome_outline($module, &$params, &$attribus) <br>{<br>static $css=fals; <br>dacă (!$css) <br> {<br>$css=adevarat; <br>jimport("joomla.environment.browser"); <br>$doc = JFactory::getDocument(); <br>$browser = JBrowser::getInstance(); <br>$doc->addStyleDeclaration(".mod-preview-info ( padding: 2px 4px 2px 4px; chenar: 1px negru solid; poziție: absolut; culoare de fundal: alb; culoare: roșu;)"); <br>$doc->addStyleDeclaration(".mod-preview-wrapper ( culoarea de fundal:#eee; chenar: 1px negru punctat; culoare:#700;)"); <br>if ($browser->getBrowser()=="msie") <br> {<br>if ($browser->getMajor()<= 7) {<br>$doc->addStyleDeclaration(".mod-preview-info (filtru: alpha(opacity=80);)"); <br>$doc->addStyleDeclaration(".mod-preview-wrapper (filtru: alpha(opacity=50);)"); <br> } <br>altceva( <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>altfel <br> {<br>$doc->addStyleDeclaration(".mod-preview-info (opacitate: 0.8;)"); <br>$doc->addStyleDeclaration(".mod-preview-wrapper (opacitate: 0.5;)"); <br> } <br> } <br> ?><br> <div class="mod-preview"><br> <div class="mod-preview-info"><?php echo $module->poziție."[".$modul->stil."]"; ?></div><br> <div class="mod-preview-wrapper"><br> <?php echo $module->conţinut; ?> <br> </div><br> </div><br> <?php<br>}</li><li><i>nici unul</i>- asemănător cu stilul nespecificat deloc. Afișează un modul fără design și funcție de titlu modChrome_none($module, &$params, &$attribus) <br>{<br>echo $modul->conținut; <br>}</li> </ul><p>Toate stilurile prestabilite se află în fișierul templates/system/html/modules.php. Dar nu ne limităm la a folosi doar opțiunile oferite, ci suntem destul de capabili să ne creăm propriile opțiuni.</p> <p><b>3. Creați un mod Chrome personalizat.</b></p> <p><b><br></b> Deci, tipurile de reprezentare implicite ale modulelor furnizate nu îndeplinesc cerințele actuale. Trebuie să adăugați propriul stil de design. De exemplu, să alegem o situație repetată destul de des. Conform misiunii, în loc de <h3>pune titlul modulului în etichetă <span>, care este neutru din punct de vedere semantic. De asemenea, trebuie să plasați blocul de conținut al modulului într-un loc separat <div>. Pentru a crea propriul stil de ieșire al modulului, vom folosi instrumente standard. Cele mai multe șabloane Joomla au un folder html/ (șabloane/nume șablon/html/), care este folosit pentru așa-numitele șabloane. Adică, dacă copiați un șablon de modul în acest folder, atunci în loc de șablonul din directorul modules/my_module/tmpl/default, va fi scos fișierul din templates/template name/html/my_modules/default. Componentele sunt modelate în același mod. Convenabil și practic. În folderul html/ al șablonului, creați un fișier modules.php. Dacă nu există un astfel de folder în șablon, îl vom crea. Să-l scriem într-un fișier</p><p> <?php<br>funcția modChrome_modbox($modul, &$params, &$atribs) // Apelați funcția <br>{<br>if (!empty ($module->conținut)): /* Verificați dacă poziția conține un modul activat */?> <br> <div class="moduletable<?php echo htmlspecialchars($params->get("moduleclass_sfx")); /* afișează sufixul css al clasei de modul */ ?>"> <br> <?php if ($module->showtitle != 0) : /* verifică dacă titlul modulului este inclus */ ?> <br> <span class="title"><?php echo $module->titlu; /* Tipăriți titlul */ ?></span><br> <?php endif; ?><br> <div class="modcontent"><br> <?php echo $module->conţinut; /* Afișează conținutul modulului */ ?> <br> </div><br> </div><br> <?php endif;<br>} <br>?> Gata. Acum trebuie doar să-l specificați ca stil de ieșire. <jdoc:include type="modules" name="user1" style="modbox"/>Atribuim un modul poziției noastre și ne uităm la rezultat.</p> <p>Unul dintre lucrurile grozave despre PHP este modul în care funcționează cu formularele HTML. Principalul lucru aici este că fiecare element de formular devine automat disponibil pentru programele dumneavoastră PHP. Pentru informații detaliate despre utilizarea formularelor în PHP, citiți secțiunea. Iată un exemplu de formular HTML:</p> <p><b>Exemplul #1 Cel mai simplu formular HTML</b></p> <p><form action="action.php" method="post"> <p>Numele dumneavoastră: <input type="text" name="name" /></p> <p>Vârsta ta: <input type="text" name="age" /></p> <p><input type="submit" /></p> </form></p> <p>Nu este nimic special în această formă. Acesta este un formular HTML obișnuit, fără etichete speciale. Când utilizatorul completează formularul și face clic pe butonul de trimitere, pagina action.php va fi apelată. Acest fișier ar putea avea ceva de genul:</p> <p><b>Exemplul #2 Afișarea datelor din formular</b></p> <p>Buna ziua,<?php echo htmlspecialchars ($_POST [ "name" ]); ?> .<br>Pentru tine<?php echo (int) $_POST [ "age" ]; ?>ani.</p> <p>Exemplu de ieșire a acestui program:</p> <p>Bună, Serghei. Ai 30 de ani.</p> <p>Dacă nu iei în calcul bucățile de cod cu <span>htmlspecialchars()</span>Și <i>(int)</i>, principiul de funcționare al acestui cod ar trebui să fie simplu și de înțeles. <span>htmlspecialchars()</span> Se asigură că caracterele HTML „speciale” sunt codificate corect, astfel încât HTML sau Javascript rău intenționat să nu fie inserat în pagina dvs. Câmpul de vârstă, despre care știm că ar trebui să fie un număr, pur și simplu îl putem converti <span>întreg</span>, care va scăpa automat de caracterele nedorite. PHP poate face acest lucru automat folosind extensia de filtru. Variabilele $_POST["nume"] și $_POST["vârstă"] sunt setate automat pentru dvs. de PHP. Anterior am folosit variabila superglobală $_SERVER, dar aici folosim și variabila superglobală $_POST, care conține toate datele POST. observa asta <i>metoda de trimitere</i>(metoda) din formularul nostru este POST. Dacă am folosi metoda <i>OBȚINE</i>, atunci informațiile din formular ar fi în variabila superglobală $_GET . Alternativ, puteți utiliza variabila $_REQUEST dacă sursa de date nu contează. Această variabilă conține un amestec de date GET, POST, COOKIE.</p> <p><b>acum 15 ani</b></p> <p>Conform specificației HTTP, ar trebui să utilizați metoda POST atunci când utilizați formularul pentru a schimba starea ceva la capătul serverului. De exemplu, dacă o pagină are un formular care să permită utilizatorilor să-și adauge propriile comentarii, ca acesta aici, formularul ar trebui să utilizeze POST. Dacă faceți clic pe „Reîncărcare” sau „Actualizați” pe o pagină la care ați accesat printr-un POST, este aproape întotdeauna o eroare -- nu ar trebui să postați același comentariu de două ori -- motiv pentru care aceste pagini nu sunt marcate sau stocate în cache.</p><p>Ar trebui să utilizați metoda GET atunci când formularul dvs. scoate ceva de pe server și nu schimbă nimic. De exemplu, formularul pentru un motor de căutare ar trebui să folosească GET, deoarece căutarea într-un site Web nu ar trebui să schimbe nimic care i-ar putea interesa clientului, iar marcarea sau stocarea în cache a rezultatelor unei interogări din motorul de căutare este la fel de utilă ca marcarea sau stocarea în cache. o pagină HTML statică.</p> <p><b>acum 2 ani</b></p> <p>Merita clarificat:</p><p>POST nu este mai sigur decât GET.</p><p>Motivele pentru care alegeți GET vs POST implică diverși factori, cum ar fi intenția solicitării („trimiteți” informații?), dimensiunea cererii (există limite pentru cât de lungă poate fi o adresă URL și parametrii GET sunt trimiși în URL-ul) și cât de ușor doriți ca acțiunea să poată fi partajată -- De exemplu, Căutările Google sunt GET deoarece facilitează copierea și partajarea interogării de căutare cu altcineva, pur și simplu partajând adresa URL.</p><p>Securitatea este doar o considerație aici, datorită faptului că un GET este mai ușor de partajat decât un POST. Exemplu: nu doriți să fie trimisă o parolă de către GET, deoarece utilizatorul ar putea împărtăși adresa URL rezultată și își poate expune din neatenție parola.</p><p>Cu toate acestea, un GET și un POST sunt la fel de ușor de interceptat de către o persoană rău intenționată bine plasată dacă nu implementați TLS/SSL pentru a proteja conexiunea la rețea în sine.</p><p>Toate formularele trimise prin HTTP (de obicei portul 80) sunt nesigure, iar astăzi (2017), nu există multe motive întemeiate pentru ca un site web public să nu folosească HTTPS (care este în esență HTTP + Transport Layer Security).</p><p>Ca bonus, dacă utilizați TLS, minimizați riscul ca utilizatorii să primească cod (AD-uri) injectat în traficul dvs. care nu a fost introdus acolo de dvs.</p> <p>Aceasta este o vulnerabilitate comună a clasei, inclusiv PHP. Dar persoana pentru care am făcut auditul mi-a spus că această vulnerabilitate nu poate fi exploatată, deci nu contează. A trebuit să mă cert cu el</p> <h2>Ce este PHP-include</h2> <p>Să realizăm un mic program educațional despre această vulnerabilitate. PHP-include este o vulnerabilitate care vă permite să „includeți” un fișier arbitrar, de exemplu acest cod:</p> <p>$modul=$_REQUEST[„modul”]; include("module/".$modul);</p> <p>Și deoarece de obicei nu există etichete PHP în fișierul „/etc/passwd” (<?php и?>), apoi va fi afișat în browser, la fel cum codul html ar fi afișat în spatele etichetelor php într-un script php obișnuit. Desigur, citirea fișierelor este doar una dintre posibilele implementări ale acestui atac. Principalul lucru este includerea fișierelor necesare cu codul PHP necesar.</p> <p>Să revenim la exemplu. Hai să complicăm:</p> <p>$modul=$_REQUEST[„modul”]; include("module/".$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 ("module/" . $module . "/module.class.php" );</p> </td> </tr></table><p>După cum puteți vedea, o linie este acum adăugată la variabila noastră la sfârșit, ceea ce ne împiedică să includem orice fișier. Deci, multe funcții PHP nu sunt binare sigure, adică astfel de funcții consideră că un octet NULL este sfârșitul unui șir. Accesăm scriptul astfel:</p> <p>script.php?module=../../../../../../../../../../../etc/passwd%00</p> <p>Și dacă directiva magic_quotes este dezactivată, atunci vom vedea din nou conținutul /etc/passwd</p> <h2>Există o vulnerabilitate?</h2> <p>Să revenim la codul nostru:</p> <p>$modul=adaugă bare oblice($_REQUEST[„modul”]); include("module/".$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 = adaugă bare oblice ($_REQUEST [ "modul" ] ) ;</p><p>include ("module/" . $module . "/module.class.php" );</p> </td> </tr></table><p>După cum puteți vedea, variabila noastră este forțată să treacă prin „addslashes” și dacă încercăm să folosim un octet NULL, acesta va fi convertit în „\0” și includerea nu va funcționa.</p> <p>Dar progresul nu stă pe loc! Se pare că unii tipi de la USH au găsit o caracteristică interesantă în PHP: vectorii de atac al sistemului de fișiere PHP (engleză). Pentru a rezuma pe scurt esenta articolului, php procesează căile utilizând mai multe caracteristici:</p> <ul><li><b>Trunchierea căii</b>- php trunchiază șirul de cale la lungimea specificată MAXPATHLEN (Pe Windows până la 270 de caractere, pe NIX - de obicei 4096, pe BSD - de obicei 1024)</li> <li><b>Normalizarea traseului</b>— php procesează calea într-un mod special, eliminând caracterele suplimentare „/” și „/.” și diferitele lor combinații</li> <li><b>Reducere la forma canonică</b>— sunt eliminate tranzițiile inutile, de exemplu, „dir1/dir2/../dir3” este convertit în „dir1/dir3/” în timp ce existența directorului „dir2” nu este verificată și alte transformări similare (adică continuarea normalizării )</li> </ul><p>Acum, în ordine, ce se întâmplă cu calea trecută:</p> <ol><li>Dacă calea este relativă, atunci se înlocuiesc mai întâi valorile din directiva include_path</li> <li>Calea este apoi tăiată la o anumită lungime în funcție de platformă</li> <li>Calea este în curs de normalizare</li> <li>Calea este redusă la formă canonică</li> </ol><p>Acum să încercăm să folosim asta. Să încercăm să includem un anumit fișier „test.php” care se află în directorul „module/”. Pentru a face acest lucru, adăugați simbolul „/.” la sfârșit. astfel încât lungimea totală, împreună cu numele fișierului și valoarea din include_path, este evident mai mare de 4096 de caractere. <br>script.php?module=test.php/././.[...]/././.</p> <p>În acest caz, trebuie să ghiciți astfel încât întregul șir de cale (deja tăiat) să se termine cu un punct (important!), și nu cu o bară oblică. Pentru a face acest lucru, puteți adăuga o bară oblică astfel: <br></p> <p>Și una dintre aceste opțiuni va funcționa cu siguranță.</p> <h2>Analizand</h2> <p>Să ne uităm în ordine la ce transformări se vor întâmpla căii <br>modules/test.php//././.[...]/./././module.class.php <br><i>4200 de caractere</i> </p> <p>Primul lucru care se întâmplă cu linia este că valoarea de la include_path este adăugată acesteia: <br>/home/site/public_html/modules/test.php//././.[...]/./././module.class.php <br><i>4223 de caractere</i> </p> <p>Șirul este apoi trunchiat la MAXPATHLEN (să spunem 4096): <br>/home/site/public_html/modules/test.php//././.[...]/./. <br><i>4096 de caractere</i> </p> <p>Aici puteți vedea de ce a fost necesar să adăugați o altă bară oblică (altfel linia ar fi fost tăiată la bară oblică). Acum această linie este normalizată, mai întâi eliminând barele oblice suplimentare: <br>/home/site/public_html/modules/test.php/././.[...]/./. <br><i>4095 de caractere</i> </p> <p>Ca rezultat, obținem calea corectă către fișierul de care avem nevoie, iar această cale va fi deja transferată în include, iar fișierul de care avem nevoie va fi inclus.</p> <p>Adică, așa vom include fișierul nostru „test.php” cu succes. <br>script.php?module=test.php//././.[...]/././.</p> <p>Aceasta înseamnă că vulnerabilitatea nu este teoretică. Ca urmare, clientul meu a pierdut pariul, iar eu am câștigat pariul și cele 10 ruble pe care am pariat. Desigur, pe lângă 10 ruble, am câștigat și încredere și respect în ochii clientului, ceea ce este de asemenea important.</p> <h2>Note</h2> <p>Aici voi analiza câteva caracteristici interesante de exploatare a acestei vulnerabilități.</p> <h3>Ieșire din director</h3> <p>Luați în considerare acest cod:</p> <p> ) ; </p> <p>Să omitem punctul că puteți utiliza RFI și include un fișier de pe un server la distanță. Să spunem „allow_url_include=OFF” pe server.</p> <p>Să luăm în considerare o situație în care trebuie să includem un fișier din directorul de mai jos: <br>script.php?module=../test.php/././.[...]/././.</p> <p>O astfel de solicitare va genera o eroare, cum ar fi fișierul nu a fost găsit. Și pentru a ocoli acest lucru, trebuie să-l numim astfel: <br>script.php?module=blabla/../../test.php/././.[...]/././.</p> <p>Nu degeaba am descris canonizarea cărărilor. Datorită acestuia, directorul „blabla” nu trebuie să existe.</p> <h3>Adăugarea de bare oblice simple</h3> <p>Un cititor atent a observat probabil că în descrierea normalizării am scris că slash-urile suplimentare „/” și punctele cu slash-uri „/.” sunt eliminate, așa că de ce să nu folosiți slash-uri pentru a evita necazurile inutile cu punctul care se termină la sfârșit.</p> <p>Totul este despre algoritmi, adică o bară oblică cu un punct „/”. este complet eliminat. Dar cu simple slash-uri situația este puțin mai complicată; în timpul normalizării, fiecare două slash-uri sunt înlocuite cu una până când rămâne doar una (!) slash, de exemplu:</p><p>/home/site/public_html/modules/test.php//////////////////// <br><i>57 de caractere</i> <br> ↓<br>/home/site/public_html/modules/test.php///////// <br><i>48 de caractere</i> <br> ↓<br>/home/site/public_html/modules/test.php///// <br><i>44 de caractere</i> <br> ↓<br>/home/site/public_html/modules/test.php/// <br><i>42 de caractere</i> <br> ↓<br>/home/site/public_html/modules/test.php// <br><i>41 de caractere</i> <br> ↓<br>/home/site/public_html/modules/test.php/ <br><i>40 de caractere</i> </p> <h3><b>O mica digresiune:</b></h3> <p>Mai mult, dacă acordați atenție multor resurse de hack populare, veți observa această eroare. După cum am înțeles, această eroare a început cu un articol al unui anume Raz0r în care a propus un vector: <br>index.php?act=../../../../../etc/passwd/////[…]/////</p> <p>Și atenție chiar și la revista ][aker a repetat această greșeală în articolul său. Mai mult, chiar și în articolul original USH s-a scris clar că nu este recomandabil să folosiți doar bare oblice și este necesar ca un caracter punct să fie lăsat la sfârșit înainte de normalizare. Dar barele oblice simple (chiar și fără un punct la sfârșit) funcționează doar în PHP cu Suhosin.</p> <p>Adică, utilizați o bară oblică cu un punct „/”. - o metodă mai universală, deoarece, spre deosebire de barele oblice „/”, funcționează pentru toate versiunile de php.</p> <h2>Concluzie</h2> <p>Sper că acest articol vă va ajuta să înțelegeți că nu ar trebui să lăsați nici cele mai mici vulnerabilități în scripturile dvs., deoarece mai devreme sau mai târziu vă puteți dezvolta propriul vector de atac pentru ele, ceea ce poate duce la consecințe grave.</p> <p>Elementul em reprezintă un pasaj de text cu accent. Îl poți folosi pentru a atrage atenția cititorului asupra sensului unei propoziții sau al unui paragraf. Vă voi spune ce înseamnă acest lucru după , care descrie elementul em.</p><blockquote><b>Tabelul 8-6:</b> em element</blockquote><blockquote><b>Figura 8-3:</b> Folosind elementul em</blockquote><p>În acest exemplu, am pus accentul pe I (I) la începutul propoziției. Dacă ne gândim la elementul em, atunci când rostim o propoziție cu voce tare, luăm în considerare faptul că propoziția este un răspuns la o întrebare. De exemplu, imaginați-vă că am întrebat: „Cui îi plac merele și portocalele?” Răspunsul tău va fi: „Îmi plac merele și portocalele”. (Când spui asta cu voce tare și pui accentul pe Eu, faci clar că ești o persoană căreia îi plac aceste fructe).</p><p>Dar dacă aș întreba: „Îți plac merele și ce altceva?” Ai putea răspunde: „Îmi plac merele și portocalele”. În acest caz, accentul se va pune pe ultimul cuvânt, subliniind că portocalele sunt un alt fruct care îți place. Această opțiune în HTML ar arăta astfel:</p><p>Îmi plac merele și <b><em> </b> portocale <b></em> </b>.</p><h3>Definiția cuvintelor străine și a termenilor tehnici</h3><p>Elementul i denotă o bucată de text care este de altă natură decât conținutul din jur. Aceasta este o definiție destul de vagă, dar exemplele comune includ cuvinte din alte limbi, termeni tehnici sau științifici și chiar gânduri umane (spre deosebire de vorbire). Este descris elementul i.</p><blockquote><b>Tabelul 8-7:</b> Elementul i</blockquote><blockquote><b>Figura 8-5:</b> Folosind elementul s</blockquote><br><img src='https://i2.wp.com/storage.smarly.net/html5/8.5.png' width="100%" loading=lazy loading=lazy><h3>Identificarea textului important</h3><p>Elementul puternic denotă un pasaj de text care este important. Acest element este descris în.</p><blockquote><b>Tabelul 8-9:</b> Element puternic</blockquote><blockquote><b>Figura 8-7:</b> Folosind elementul u</blockquote><br><img src='https://i1.wp.com/storage.smarly.net/html5/8.7.png' width="100%" loading=lazy loading=lazy><h3>Adăugarea unui font mic</h3><p>Elementul mic denotă font mic și este adesea folosit pentru calificări și clarificări. B reprezintă elementul mic.</p><blockquote><b>Tabelul 8-11:</b> element mic</blockquote><blockquote><b>Figura 8-8:</b> Folosind elementul mic</blockquote><br><img src='https://i1.wp.com/storage.smarly.net/html5/8.8.png' width="100%" loading=lazy loading=lazy><h3>Adăugarea unui indice și a unui indice</h3><p>Puteți folosi elementele sub și sup pentru a desemna indicele și respectiv indicele. Superscriptele sunt folosite pentru a scrie cuvinte în unele limbi și atât superscriptul, cât și indicele sunt folosiți în expresii matematice simple. Aceste elemente sunt prezentate în.</p><blockquote><b>Tabelul 8-12:</b> Elemente sub și sup</blockquote><blockquote><b>Figura 8-9:</b> Folosind elementele sub și sup</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">Popular în categoria:</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="Cum se creează un clip karaoke pe un computer?"/ loading=lazy loading=lazy> <div class="single-popular-item-tit">Cum se creează un clip karaoke pe un computer?</div> <a href="https://5visa.ru/ro/at/sozdanie-karaoke-svoimi-rukami-kak-sozdat-karaoke-klip-na-kompyutere-eto.html" rel="bookmark" title="Cum se creează un clip karaoke pe un computer?">citit</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="Aplicația Origin este necesară pentru joc, dar nu este instalată. FIFA 16 necesită Origin."/ loading=lazy loading=lazy> <div class="single-popular-item-tit">Aplicația Origin este necesară pentru a juca, dar nu este instalată FIFA...</div> <a href="https://5visa.ru/ro/multimedia/prilozhenie-origin-neobhodimo-dlya-igry-no-ono-ne-ustanovleno-prilozhenie-origin.html" rel="bookmark" title="Aplicația Origin este necesară pentru joc, dar nu este instalată. FIFA 16 necesită Origin.">citit</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="Înregistrarea unei pagini personale pe rețeaua socială Facebook"/ loading=lazy loading=lazy> <div class="single-popular-item-tit">Înregistrarea unei pagini personale pe rețeaua socială Facebook</div> <a href="https://5visa.ru/ro/multimedia/zaregistrirovat-dve-stranicy-facebook-na-odin-nomer-registraciya-lichnoi.html" rel="bookmark" title="Înregistrarea unei pagini personale pe rețeaua socială Facebook">citit</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="Cum să rulați o scanare Nmap Nmap simplă"/ loading=lazy loading=lazy> <div class="single-popular-item-tit">Cum să rulați o scanare Nmap Nmap simplă</div> <a href="https://5visa.ru/ro/installation-and-configuration/setevoi-skaner-nmap-i-ego-vozmozhnosti-kak-zapustit-prostoe-skanirovanie.html" rel="bookmark" title="Cum să rulați o scanare Nmap Nmap simplă">citit</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">ultimele articole</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">Cum să rotiți o imagine cu câteva grade...</div> <div class="clr"></div> <a href="https://5visa.ru/ro/internet/kak-povernut-izobrazhenie-v-vorde-i-eshche-neskolko-priemov.html">citit</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">Se dezactivează publicitatea în browserul Yandex Unde...</div> <div class="clr"></div> <a href="https://5visa.ru/ro/tips/kak-otklyuchit-blokirovku-reklamy-v-brauzere-yandeks-otklyuchenie-reklamy-v-yandeks.html">citit</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">Rezolvarea problemelor de conexiune Wi-Fi pe...</div> <div class="clr"></div> <a href="https://5visa.ru/ro/problems/shlyuz-ustanovlennyi-po-umolchaniyu-ne-dostupen-ustranenie-problem-s-wi-fi.html">citit</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">Schimbați parola pe profilul Windows 10</div> <div class="clr"></div> <a href="https://5visa.ru/ro/education/pomenyat-parol-na-profile-vindovs-10.html">citit</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">Instrucțiuni pentru configurarea routerelor fără fir...</div> <div class="clr"></div> <a href="https://5visa.ru/ro/at/pravilnaya-nastroika-wi-fi-routera-asus-rt-g32-instrukciya-po-nastroike.html">citit</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">Cum să alegi un hard disk și care este mai bine să-l cumperi...</div> <div class="clr"></div> <a href="https://5visa.ru/ro/multimedia/kakaya-skorost-zhestkogo-diska-horoshaya-kak-vybrat-zhestkii-disk-i.html">citit</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 pentru manechini. Apeluri si agenda....</div> <div class="clr"></div> <a href="https://5visa.ru/ro/internet/meizu-dlya-chainikov-zvonki-i-adresnaya-kniga-storonnie-prilozheniya-dlya.html">citit</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">Descărcați programul PDFMaster</div> <div class="clr"></div> <a href="https://5visa.ru/ro/program/smotret-pdf-faily-skachat-programmu-pdfmaster.html">citit</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>Internet. Multimedia. Navigator. Educaţie. DE. Firmware. Programe. Sfat. Instalare</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="">Ediția de proiect</a></li> <li><a href="">Publicitate pe site</a></li> </ul> <ul> <li><a href="https://5visa.ru/ro/feedback.html">Contacte</a></li> <li><a href="https://5visa.ru/ro/sitemap.xml">Harta site-ului</a></li> </ul> </div> </div> </div> <div class="copyright">© 2024 Internet. Multimedia. Navigator. Educaţie. DE. Firmware. Programe. Sfat. Instalare</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="Derulați până sus">Top</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>