Pupiņu html moduļu php nosaukums. Jdoc:include — metode satura parādīšanai lapā. Pievienojot tikai slīpsvītras

Mēs īsi pieskārāmies tēmai par satura parādīšanas metodēm veidnes pamattekstā. Tagad apskatīsim tuvāk, kas tas ir un ar ko to ēd. Tātad metodes deklarācijas jdoc ir katrā Joomla veidnē un parādīt šo vai citu informāciju veidnes pamattekstā (tas ir, vietnes lapā). Kopumā metodes deklarācija izskatās šādi

Šajā rindā tiek parādīta informācija no vietnes komponentiem, piemēram, raksti no com_content. Izvades elementu veids ir norādīts atribūtā.

1. tips - izejas elementu veidi.

  • komponents- kā jau rakstīju iepriekš, parāda galveno lapas saturu. Katrā veidnē var izsaukt tikai vienu reizi.
  • galvu- arī deklarēts vienu reizi pēc sākuma taga . Izmanto, lai izvadītu stilus, skriptus, un pašreizējās lapas metadati.</li><li><i>ziņa</i><i>- </i> parāda sistēmas ziņojumus. Vienreiz deklarēts dokumenta pamattekstā (body).</li><li><i>uzstādīšana</i>- nerāda neko un ir instalēšanas "instrukcija".</li><li><i>modulis-</i> lapā parāda vienu moduli. Sludinājumu skaits nav ierobežots.</li><li><i>moduļi</i>- atšķirībā no iepriekšējā tipa, ļauj savā pozīcijā parādīt ne vienu moduļu skaitu.</li> </ul><p>Pirmajiem četriem norādītajiem veidiem pietiek tikai tos norādīt lapā. Moduļa tipa gadījumā uzdevums kļūst nedaudz sarežģītāks. Lai lapā parādītu moduli, mums tas vispirms ir jāizveido <b>modulāra pozīcija</b> ar unikālu identifikatoru (moduļa pozīcijas nosaukumu). Tas tiek darīts, izmantojot atribūtu name="pozīcijas nosaukums" un obligāto rindas pievienošanu:</p><p> <position>pozīcijas nosaukums</position> uz failu templateDetails.xml. Aprakstot pozīcijas nosaukumu templateDetails.xml, mēs to apzīmējam sistēmā un redzam moduļu pārvaldniekā. Pozīciju nosaukumi var būt patvaļīgi, lai gan pozīcija name="user3" pēc noklusējuma tiek izmantota, lai parādītu augšējo izvēlni.</p><p><b>2. stils - izvades stila apraksts (mod chrome).</b></p> <p>Moduļa apvalka izskats un struktūra ir atkarīga no norādītā stila. Izskatās kā</p><p> :<jdoc:include type="modules" name="user1" style="xhtml" />Pēc noklusējuma moduļiem ir vairāki izvades stili:</p><ul><li><i>xhtml-</i> parāda moduli blokā ar virsraksta funkciju modChrome_xhtml($module, &$params, &$attribs) <br>{<br>if (!tukšs ($module->content)) : ?> <br> <div class="moduletable<?php echo htmlspecialchars($params->get("moduleclass_sfx")); ?>"> <br> <?php if ($module->izrādes nosaukums != 0) : ?> <br> <h3><?php echo $module->tituls; ?></h3><br> <?php endif; ?><br> <?php echo $module->saturs; ?> <br> </div><br> <?php endif;<br>}</li><li><i>tabula-</i> parāda moduli tabulas struktūras izkārtojumā <br>funkcija modChrome_table($module, &$params, &$attribs) <br>{ ?><br> <table cellpadding="0" cellspacing="0" class="moduletable<?php echo htmlspecialchars($params->get("moduleclass_sfx")); ?>"> <br> <?php if ($module->izrādes nosaukums != 0) : ?> <br> <tr><br> <th><br> <?php echo $module->tituls; ?> <br> </th><br> </tr><br> <?php endif; ?><br> <tr><br> <td><br> <?php echo $module->saturs; ?> <br> </td><br> </tr><br> </table><br> <?php<br>}</li><li><i>zirgs-</i> parāda moduļa saturu tabulas šūnā, horizontāli funkcija modChrome_horz($module, &$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>noapaļots</i>- atveido moduli vairākos ligzdotos blokos sarežģītam stilam grafisku apmaļu veidā (piem., noapaļoti stūri) funkcija modChrome_rounded($module, &$params, &$attribs) <br>{ ?><br> <div class="module<?php echo htmlspecialchars($params->get("moduleclass_sfx")); ?>"> <br> <div><br> <div><br> <div><br> <?php if ($module->izrādes nosaukums != 0) : ?> <br> <h3><?php echo $module->tituls; ?></h3><br> <?php endif; ?><br> <?php echo $module->saturs; ?> <br> </div><br> </div><br> </div><br> </div><br> <?php<br>}</li><li><i>kontūru</i>- pievieno iepriekš iestatītus stilus moduļu bloka css funkcijai modChrome_outline ($module, &$params, &$attribs) <br>{<br>statisks $css=false; <br>ja (!$css) <br> {<br>$css=true; <br>jimport("joomla.environment.browser"); <br>$doc = JFactory::getDocument(); <br>$browser = JBrowser::getInstance(); <br>$doc->addStyleDeclaration(.mod-preview-info ( polsterējums: 2px 4px 2px 4px; apmale: 1px vienkrāsains melns; pozīcija: absolūta; fona krāsa: balta; krāsa: sarkana;)"); <br>$doc->addStyleDeclaration(.mod-preview-wrapper ( fona krāsa: #eee; apmale: 1px punktēta melna; krāsa: #700;)"); <br>if ($browser->getBrowser()=="msie") <br> {<br>if ($browser->getMajor()<= 7) {<br>$doc->addStyleDeclaration(.mod-preview-info (filtrs: alfa(necaurredzamība=80);)"); <br>$doc->addStyleDeclaration(.mod-preview-wrapper (filtrs: alfa(necaurredzamība=50);)"); <br> } <br>cits( <br>$doc->addStyleDeclaration(.mod-preview-info (-ms-filter: alfa(necaurredzamība=80);)"); <br>$doc->addStyleDeclaration(.mod-preview-wrapper (-ms-filter: alfa(necaurredzamība=50);)"); <br> } <br> } <br>cits <br> {<br>$doc->addStyleDeclaration(.mod-preview-info (necaurredzamība: 0,8;)"); <br>$doc->addStyleDeclaration(.mod-preview-wrapper (necaurredzamība: 0,5;)"); <br> } <br> } <br> ?><br> <div class="mod-preview"><br> <div class="mod-preview-info"><?php echo $module->pozīcija."[".$module->style."]"; ?></div><br> <div class="mod-preview-wrapper"><br> <?php echo $module->saturs; ?> <br> </div><br> </div><br> <?php<br>}</li><li><i>neviens</i>- līdzīgs stilam, kas vispār nav norādīts. Parāda moduli bez stila un galvenes funkcijas modChrome_none($module, &$params, &$attribs) <br>{<br>atbalss $modulis->saturs; <br>}</li> </ul><p>Visi iepriekš iestatītie stili atrodas failā templates/system/html/modules.php. Bet mēs neaprobežojamies ar tikai piedāvāto iespēju izmantošanu, bet mēs varam viegli izveidot paši.</p> <p><b>3. Pielāgota režīma hroma izveide.</b></p> <p><b><br></b> Tātad moduļu noklusējuma reprezentācijas veidi neatbilst pašreizējām prasībām. Jums jāpievieno savs stils. Kā piemēru ņemsim diezgan bieži atkārtotu situāciju. Saskaņā ar uzdevumu, tā vietā <h3>ievietojiet tagā moduļa nosaukumu <span>, kas ir semantiski neitrāla. Ir nepieciešams arī ievietot moduļa satura bloku atsevišķā <div>. Lai izveidotu savu moduļa izvades stilu, mēs izmantosim standarta rīkus. Lielākajā daļā Joomla veidņu ir html/ mape (veidnes/veidnes nosaukums/html/), ko izmanto tā sauktajai veidņu veidošanai. Tas ir, ja kopējat moduļa veidni uz šo mapi, tad veidnes vietā no mapes modules/my_module/tmpl/default tiks parādīts fails no templates/template name/html/my_modules/default. Sastāvdaļas tiek veidotas tādā pašā veidā. Ērts un praktisks. Izveidosim modules.php failu jūsu veidnes html/ mapē. Ja veidnē šādas mapes nav, izveidojiet to. Rakstīsim failā</p><p> <?php<br>funkcija modChrome_modbox($module, &$params, &$attribs) // Funkcijas izsaukšana <br>{<br>if (!empty ($module->content)) : /* Pārbaudiet, vai pozīcijā ir iespējots modulis */?> <br> <div class="moduletable<?php echo htmlspecialchars($params->get("moduleclass_sfx")); /* drukas moduļa klases css sufikss */ ?>"> <br> <?php if ($module->showtitle != 0) : /* pārbaudiet, vai ir iekļauts moduļa nosaukums */ ?> <br> <span class="title"><?php echo $module->tituls; /* Parādīt nosaukumu */ ?></span><br> <?php endif; ?><br> <div class="modcontent"><br> <?php echo $module->saturs; /* Parādīt moduļa saturu */ ?> <br> </div><br> </div><br> <?php endif;<br>} <br>?> Gatavs. Tagad jums tas jānorāda tikai kā izvades stils. <jdoc:include type="modules" name="user1" style="modbox"/>Mēs piešķiram moduli savai pozīcijai un skatāmies uz rezultātu.</p> <p>Viena no PHP lielākajām priekšrocībām ir tā, kā tā darbojas ar HTML formām. Galvenais šeit ir tas, ka katrs veidlapas elements tiek automātiski padarīts pieejams jūsu PHP programmām. Papildinformāciju par veidlapu izmantošanu PHP skatiet sadaļā. Šeit ir HTML veidlapas piemērs:</p> <p><b>Beispiel #1 Vienkāršākā HTML forma</b></p> <p><form action="action.php" method="post"> <p>Tavs vārds: <input type="text" name="name" /></p> <p>Tavs vecums: <input type="text" name="age" /></p> <p><input type="submit" /></p> </form></p> <p>Šajā formā nav nekā īpaša. Šī ir parasta HTML forma bez īpašiem tagiem. Kad lietotājs aizpilda veidlapu un noklikšķina uz pogas Iesniegt, tiks izsaukta lapa action.php. Šajā failā var būt kaut kas līdzīgs:</p> <p><b>Beispiel #2 renderēšanas formas dati</b></p> <p>Sveiki,<?php echo htmlspecialchars ($_POST [ "name" ]); ?> .<br>Tev<?php echo (int) $_POST [ "age" ]; ?>gadiem.</p> <p>Šīs programmas izvades paraugs:</p> <p>Sveiks Sergej. Jums ir 30 gadi.</p> <p>Ja neņem vērā koda gabalus ar <span>htmlspecialchars()</span> Un <i>(int)</i>, šī koda darbības principam jābūt vienkāršam un skaidram. <span>htmlspecialchars()</span> nodrošina, ka "īpašās" HTML rakstzīmes ir pareizi kodētas, lai jūsu lapā netiktu ievietots ļaunprātīgs HTML vai Javascript. Vecuma lauks, kuram, kā mēs zinām, ir jābūt skaitlim, mēs varam vienkārši pārvērst par to <span>vesels skaitlis</span>, kas automātiski atbrīvosies no nevēlamām rakstzīmēm. PHP to var izdarīt arī automātiski, izmantojot filtra paplašinājumu. Mainīgos $_POST["nosaukums"] un $_POST["vecums"] automātiski iestata PHP. Iepriekš mēs izmantojām $_SERVER superglobālu, bet šeit mēs izmantojām arī $_POST superglobālu, kas satur visus POST datus. ievērojiet, tas <i>nosūtīšanas metode</i>(metode) mūsu veidlapā ir POST. Ja mēs izmantotu metodi <i>GŪT</i>, tad mūsu veidlapas informācija būtu $_GET superglobālā. Varat arī izmantot mainīgo $_REQUEST, ja datu avots nav svarīgs. Šis mainīgais satur GET, POST, COOKIE datu kombināciju.</p> <p><b>pirms 15 gadiem</b></p> <p>Saskaņā ar HTTP specifikāciju jums ir jāizmanto POST metode, kad izmantojat veidlapu, lai mainītu kādas lietas stāvokli servera galā. Piemēram, ja lapai ir veidlapa, kas ļauj lietotājiem pievienot savus komentārus, piemēram, šo lapā šeit, veidlapā ir jāizmanto POST, tāpēc šīs lapas nav pievienotas grāmatzīmēm vai kešatmiņā.</p><p>Jums vajadzētu izmantot GET metodi, ja jūsu veidlapa kaut ko noņem no servera un faktiski neko nemaina. Piemēram, meklētājprogrammas veidlapā jāizmanto GET, jo, meklējot tīmekļa vietnē, nevajadzētu mainīt neko, kas varētu interesēt klientu, un meklētājprogrammas vaicājuma rezultātu pievienošana grāmatzīmēm vai kešatmiņai ir tikpat noderīga kā grāmatzīmju vai kešatmiņas saglabāšana. statiska HTML lapa.</p> <p><b>Pirms 2 gadiem</b></p> <p>Ir vērts precizēt:</p><p>POST nav drošāka par GET.</p><p>GET vai POST izvēles iemesli ir saistīti ar dažādiem faktoriem, piemēram, pieprasījuma nolūku (vai jūs "iesniedzat" informāciju?), pieprasījuma lielumu (ir ierobežojumi, cik ilgi URL var būt, un GET parametri tiek nosūtīti URL) un cik viegli vēlaties, lai darbība būtu koplietojama. Piemēram, Google meklēšana ir GET, jo tā ļauj viegli kopēt un kopīgot meklēšanas vaicājumu ar kādu citu, vienkārši kopīgojot URL.</p><p>Drošība šeit tiek ņemta vērā tikai tāpēc, ka GET ir vieglāk kopīgot nekā POST. Piemērs: jūs nevēlaties, lai GET nosūtītu paroli, jo lietotājs var kopīgot iegūto URL un netīšām atklāt savu paroli.</p><p>Tomēr GET un POST ir vienlīdz viegli pārtvert labi novietota ļaunprātīga persona, ja jūs neizvietojat TLS/SSL, lai aizsargātu pašu tīkla savienojumu.</p><p>Visas veidlapas, kas nosūtītas, izmantojot HTTP (parasti ports 80), ir nedrošas, un šodien (2017. gadā) nav daudz pamatotu iemeslu, lai publiska vietne neizmantotu HTTPS (kas būtībā ir HTTP + transporta slāņa drošība).</p><p>Kā bonuss ir tas, ka, ja izmantojat TLS, tiek samazināts risks, ka jūsu lietotājiem tiks ievadīts kods (AD), ko neesat ievietojis jūs.</p> <p>PHP iekļaušanas klasē ir izplatīta ievainojamība. Bet persona, kurai es veicu auditu, man teica, ka šo ievainojamību nevar izmantot, tāpēc tā netiek skaitīta. Man nācās ar viņu strīdēties.</p> <h2>Kas ir PHP-include</h2> <p>Veiksim nelielu izglītojošu programmu par šo ievainojamību. PHP-include ir ievainojamība, kas ļauj "iekļaut" patvaļīgu failu, piemēram, šo kodu:</p> <p>$module=$_REQUEST["modulis"]; include("modules/".$module);</p> <p>Un tā kā failā "/etc/passwd" parasti nav php tagu (<?php и?>), tad tas tiks parādīts pārlūkprogrammā, jo parastajā php skriptā html kods tiktu parādīts ārpus php tagiem. Protams, failu lasīšana ir tikai viena no iespējamajām šī uzbrukuma realizācijām. Galvenais joprojām ir iekļaut nepieciešamos failus ar nepieciešamo php kodu.</p> <p>Atgriezīsimies pie piemēra. Sarežģīsim to:</p> <p>$module=$_REQUEST["modulis"]; include("modules/".$module."/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>$module = $_REQUEST [ "modulis"] ;</p><p>include ("modules/" . $module . "/module.class.php" ) ;</p> </td> </tr></table><p>Kā redzat, tagad mūsu mainīgajam beigās tiek pievienota rinda, kas neļauj mums iekļaut nevienu failu. Tātad daudzas php funkcijas nav bināri drošas, t.i., šādas funkcijas uzskata NULL-baitu par virknes beigas. Mēs atsaucamies uz skriptu šādi:</p> <p>script.php?module=../../../../../../../../../../../etc/passwd%00</p> <p>Un, ja magic_quotes direktīva ir atspējota, mēs atkal redzēsim /etc/passwd saturu.</p> <h2>Vai ir kāda ievainojamība?</h2> <p>Atgriezīsimies pie mūsu koda:</p> <p>$module=addslashes($_REQUEST["modulis"]); include("modules/".$module."/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>$module = addslashes ($_REQUEST [ "module" ] ) ;</p><p>include ("modules/" . $module . "/module.class.php" ) ;</p> </td> </tr></table><p>Kā redzat, mūsu mainīgais tiek piespiedu kārtā nodots caur "addslashes", un, ja mēs mēģināsim izmantot NULL baitu, tas tiks pārveidots par "\0" un iekļaut nedarbosies.</p> <p>Bet progress nestāv uz vietas! Izrādās, daži puiši no USH ir atraduši interesantu funkciju PHP PHP failu sistēmas uzbrukuma vektoros. Īsāk sakot, lai pārstāstītu raksta būtību, php apstrādā ceļus, izmantojot vairākas funkcijas:</p> <ul><li><b>Ceļa saīsināšana</b>- php saīsina ceļa virkni līdz norādītajam garumam MAXPATHLEN (operētājsistēmā Windows līdz 270 rakstzīmēm, NIX - parasti 4096, BSD - parasti 1024)</li> <li><b>Ceļa normalizācija</b>- php apstrādā ceļu īpašā veidā, noņemot papildu rakstzīmes "/" un "/". un to dažādās kombinācijas</li> <li><b>Samazinājums līdz kanoniskajai formai</b>- tiek noņemtas papildu pārejas, piemēram, "dir1/dir2/../dir3" tiek reducēts uz "dir1/dir3/", kamēr netiek pārbaudīta direktorija "dir2" esamība, un citas līdzīgas transformācijas (t.i., turpinās normalizācija)</li> </ul><p>Tagad secībā, kas notiek ar izieto ceļu:</p> <ol><li>Ja ceļš ir relatīvs, tad vispirms tiek aizstātas vērtības no direktīvas include_path</li> <li>Tālāk ceļš tiek apgriezts līdz noteiktam garumam atkarībā no platformas</li> <li>Notiek ceļa normalizācija</li> <li>Ceļš ir samazināts līdz kanoniskajai formai</li> </ol><p>Tagad mēģināsim to izmantot. Mēģināsim iekļaut kādu failu "test.php", kas atrodas direktorijā "modules/". Lai to izdarītu, rakstzīmes beigās pievienojiet "/." tā, lai kopējam garumam kopā ar faila nosaukumu, vērtību no include_path ir jābūt lielākam par 4096 rakstzīmēm. <br>script.php?module=test.php/././.[...]/././.</p> <p>Šajā gadījumā ir jāuzmin tā, lai visa ceļa virkne (jau nogriezta) beidzas ar punktu (svarīgi!), Nevis ar slīpsvītru. Lai to izdarītu, varat pievienot vienu slīpsvītru šādi: <br></p> <p>Un viena no šīm iespējām noteikti darbosies.</p> <h2>Mēs analizējam</h2> <p>Mēs secīgi skatāmies, kādas transformācijas notiks ar ceļu <br>modules/test.php//././.[...]/./././module.class.php <br><i>4200 rakstzīmes</i> </p> <p>Pirmā lieta, kas notiek ar virkni, ir tā, ka tai tiek pievienota vērtība no include_path: <br>/home/site/public_html/modules/test.php//././.[...]/./././module.class.php <br><i>4223 rakstzīmes</i> </p> <p>Pēc tam virkne tiek saīsināta līdz MAXPATHLEN (teiksim, 4096): <br>/home/site/public_html/modules/test.php//././.[...]/./. <br><i>4096 rakstzīmes</i> </p> <p>Šeit var redzēt, kāpēc bija nepieciešams pievienot vēl vienu slīpsvītru (pretējā gadījumā virkne tiktu nogriezta līdz slīpsvītrai). Tagad šī rinda ir normalizēta, vispirms tiek noņemtas papildu slīpsvītras: <br>/home/site/public_html/modules/test.php/././.[...]/./. <br><i>4095 rakstzīmes</i> </p> <p>Rezultātā mēs iegūstam pareizo ceļu uz mums vajadzīgo failu, un šis ceļš jau tiks pārsūtīts uz iekļaut, un mums nepieciešamais fails tiks iekļauts.</p> <p>Tas ir, šādi mēs veiksmīgi iekļausim mūsu "test.php" failu. <br>script.php?module=test.php//././.[...]/././.</p> <p>Tas nozīmē, ka pastāv ievainojamība, nevis teorētiska. Rezultātā mans klients zaudēja likmi, un es uzvarēju strīdā un 10 rubļus, par kuriem mēs derējām. Protams, papildus 10 rubļiem iemantoju arī uzticību un cieņu klienta acīs, kas arī ir svarīgi.</p> <h2>Piezīmes</h2> <p>Šeit es apskatīšu pāris interesantas šīs ievainojamības izmantošanas iezīmes.</p> <h3>Iziet no direktorija</h3> <p>Apsveriet šo kodu:</p> <p> ) ; </p> <p>Izlaidīsim punktu, ka varat izmantot RFI un iekļaut failu no attālā servera. Pieņemsim, ka serverī ir “allow_url_include=OFF”.</p> <p>Apsveriet situāciju, kad mums ir jāiekļauj fails no tālāk esošā direktorija: <br>script.php?module=../test.php/././.[...]/././.</p> <p>Šāds zvans radīs kļūdu, piemēram, fails nav atrasts. Un, lai to apietu, mums jāgriežas šādi: <br>script.php?module=blabla/../../test.php/././.[...]/././.</p> <p>Ne velti aprakstīju par taku kanonizāciju. Pateicoties tam, direktorijai "blabla" nav jābūt.</p> <h3>Pievienojot tikai slīpsvītras</h3> <p>Kāds uzmanīgs lasītājs droši vien pamanīja, ka normalizācijas aprakstā es rakstīju, ka ir rakstīts, ka tiek noņemtas papildu slīpsvītras “/” un punkti ar slīpsvītrām “/”, tad kāpēc gan neizmantot tikai slīpsvītras, lai izvairītos no nevajadzīgām blēņām ar punktu. beigas.</p> <p>Tas viss ir saistīts ar algoritmiem, tas ir, slīpsvītru ar punktu "/". tiek pilnībā noņemts. Bet ar vienkāršām slīpsvītrām situācija ir nedaudz sarežģītāka, ar normalizāciju katras divas slīpsvītras tiek aizstātas ar vienu, līdz paliek viena (!) slīpsvītra, piemēram:</p><p>/home/site/public_html/modules/test.php/////////////////// <br><i>57 rakstzīmes</i> <br> ↓<br>/home/site/public_html/modules/test.php///////// <br><i>48 rakstzīmes</i> <br> ↓<br>/home/site/public_html/modules/test.php///// <br><i>44 rakstzīmes</i> <br> ↓<br>/home/site/public_html/modules/test.php/// <br><i>42 rakstzīmes</i> <br> ↓<br>/home/site/public_html/modules/test.php// <br><i>41 rakstzīme</i> <br> ↓<br>/home/site/public_html/modules/test.php/ <br><i>40 rakstzīmes</i> </p> <h3><b>Neliela novirze:</b></h3> <p>Turklāt, ja pievēršat uzmanību daudziem populāriem hakeru resursiem, varat pamanīt šo kļūdu. Kā es saprotu, šī kļūda sākās ar noteikta Raz0r rakstu, kurā viņš ierosināja vektoru: <br>index.php?act=../../../../../etc/passwd/////[…]/////</p> <p>Un pat pievērsiet uzmanību žurnālam ][aker atkārtoja šo kļūdu savā rakstā. Tajā pašā laikā pat sākotnējā USH rakstā bija skaidri rakstīts, ka tikai slīpsvītru lietošana nav vēlama, un ir nepieciešams, lai beigās, pirms normalizācijas, būtu punkts. Un tikai slīpsvītras (pat bez punkta beigās) darbojas tikai PHP ar Suhosin.</p> <p>Tas ir, izmantojiet slīpsvītru ar punktu "/". - universālāka metode, jo atšķirībā no slīpsvītras "/" tā darbojas visās php versijās.</p> <h2>Secinājums</h2> <p>Es ceru, ka šis raksts palīdzēs jums saprast, ka jūsu skriptos nevajadzētu atstāt pat mazākās ievainojamības, jo agrāk vai vēlāk jūs varat tām izstrādāt savu uzbrukuma vektoru, kas var izraisīt nopietnas sekas.</p> <p>Elements em apzīmē teksta daļu ar pasvītrotu akcentu. Varat to izmantot, lai pievērstu lasītāja uzmanību teikuma vai rindkopas nozīmei. Es jums pastāstīšu, ko tas nozīmē pēc , kas apraksta elementu em.</p><blockquote><b>Tabula 8-6:</b> em elements</blockquote><blockquote><b>Attēls 8-3:</b> Izmantojot em elementu</blockquote><p>Šajā piemērā es uzsvaru lieku uz I (I) teikuma sākumā. Domājot par elementu em, kad mēs skaļi pasakām teikumu, mēs uzskatām, ka teikums ir atbilde uz jautājumu. Piemēram, iedomājieties, ka es jautāju: "Kam garšo āboli un apelsīni?" Jūsu atbilde būs: "Man garšo āboli un apelsīni." (Kad jūs to sakāt skaļi un liekot uzsvaru uz Es, jūs skaidri parādat, ka esat cilvēks, kurš mīl šos augļus).</p><p>Bet ja jautāju: "Vai tev garšo āboli un kas vēl?" Jūs varētu atbildēt: "Man garšo āboli un apelsīni." Šajā gadījumā uzsvars tiks likts uz pēdējo vārdu, uzsverot, ka apelsīni ir vēl viens auglis, kas jums garšo. Šī HTML versija izskatītos šādi:</p><p>Man garšo āboli un <b><em> </b> apelsīni <b></em> </b>.</p><h3>Svešvārdu un tehnisko terminu definīcija</h3><p>Elements i apzīmē teksta daļu, kas atšķiras no apkārtējā satura. Šī ir diezgan neskaidra definīcija, taču bieži sastopami piemēri ietver vārdus no citām valodām, tehniskus vai zinātniskus terminus un pat cilvēku domas (pretēji runai). Elementā i ir aprakstīts.</p><blockquote><b>Tabula 8-7:</b> Elements i</blockquote><blockquote><b>Attēls 8-5:</b> Izmantojot elementu s</blockquote><br><img src='https://i2.wp.com/storage.smarly.net/html5/8.5.png' width="100%" loading=lazy loading=lazy><h3>Svarīga teksta definīcija</h3><p>Spēcīgais elements apzīmē svarīgu teksta daļu. Šis elements ir aprakstīts.</p><blockquote><b>Tabula 8-9:</b> spēcīgs elements</blockquote><blockquote><b>Attēls 8-7:</b> Izmantojot elementu u</blockquote><br><img src='https://i1.wp.com/storage.smarly.net/html5/8.7.png' width="100%" loading=lazy loading=lazy><h3>Sīkās drukas pievienošana</h3><p>Mazais elements apzīmē mazu druku, un to bieži izmanto atrunām un precizējumiem. Mazais elements ir attēlots .</p><blockquote><b>Tabula 8-11:</b> mazs elements</blockquote><blockquote><b>Attēls 8-8:</b> Izmantojot mazo elementu</blockquote><br><img src='https://i1.wp.com/storage.smarly.net/html5/8.8.png' width="100%" loading=lazy loading=lazy><h3>Augšraksta un apakšindeksa pievienošana</h3><p>Varat izmantot apakš- un sup elementus, lai norādītu attiecīgi augšindeksu un apakšindeksu. Virsraksti tiek izmantoti vārdu rakstīšanai dažās valodās, un vienkāršās matemātiskās izteiksmēs tiek izmantoti gan augšraksti, gan apakšindekss. Šie elementi tiek prezentēti.</p><blockquote><b>8-12 tabula:</b> sub un sup elementi</blockquote><blockquote><b>Attēls 8-9:</b> Izmantojot sub un sup elementus</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ārs kategorijā:</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="Kā datorā izveidot karaoke klipu?"/ loading=lazy loading=lazy> <div class="single-popular-item-tit">Kā datorā izveidot karaoke klipu?</div> <a href="https://5visa.ru/lv/at/sozdanie-karaoke-svoimi-rukami-kak-sozdat-karaoke-klip-na-kompyutere-eto.html" rel="bookmark" title="Kā datorā izveidot karaoke klipu?">lasīt</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="Lai atskaņotu, ir nepieciešama Origin lietotne, bet neinstalētai Fifa 16 ir nepieciešama oriģināla"/ loading=lazy loading=lazy> <div class="single-popular-item-tit">Lai atskaņotu, ir nepieciešama lietotne Origin, taču to nav instalējusi FIFA...</div> <a href="https://5visa.ru/lv/multimedia/prilozhenie-origin-neobhodimo-dlya-igry-no-ono-ne-ustanovleno-prilozhenie-origin.html" rel="bookmark" title="Lai atskaņotu, ir nepieciešama Origin lietotne, bet neinstalētai Fifa 16 ir nepieciešama oriģināla">lasīt</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="Personīgās lapas reģistrēšana sociālajā tīklā Facebook"/ loading=lazy loading=lazy> <div class="single-popular-item-tit">Personīgās lapas reģistrēšana sociālajā tīklā Facebook</div> <a href="https://5visa.ru/lv/multimedia/zaregistrirovat-dve-stranicy-facebook-na-odin-nomer-registraciya-lichnoi.html" rel="bookmark" title="Personīgās lapas reģistrēšana sociālajā tīklā Facebook">lasīt</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="Kā palaist vienkāršu Nmap Nmap skenēšanu"/ loading=lazy loading=lazy> <div class="single-popular-item-tit">Kā palaist vienkāršu Nmap Nmap skenēšanu</div> <a href="https://5visa.ru/lv/installation-and-configuration/setevoi-skaner-nmap-i-ego-vozmozhnosti-kak-zapustit-prostoe-skanirovanie.html" rel="bookmark" title="Kā palaist vienkāršu Nmap Nmap skenēšanu">lasīt</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">Jaunākie raksti</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">Kā pagriezt attēlu par dažiem grādiem...</div> <div class="clr"></div> <a href="https://5visa.ru/lv/internet/kak-povernut-izobrazhenie-v-vorde-i-eshche-neskolko-priemov.html">lasīt</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">Reklāmu atspējošana Yandex pārlūkprogrammā Kur ...</div> <div class="clr"></div> <a href="https://5visa.ru/lv/tips/kak-otklyuchit-blokirovku-reklamy-v-brauzere-yandeks-otklyuchenie-reklamy-v-yandeks.html">lasīt</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">Wi-Fi savienojuma problēmu novēršana...</div> <div class="clr"></div> <a href="https://5visa.ru/lv/problems/shlyuz-ustanovlennyi-po-umolchaniyu-ne-dostupen-ustranenie-problem-s-wi-fi.html">lasīt</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">mainiet paroli Windows 10 profilā</div> <div class="clr"></div> <a href="https://5visa.ru/lv/education/pomenyat-parol-na-profile-vindovs-10.html">lasīt</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">Norādījumi bezvadu maršrutētāju iestatīšanai...</div> <div class="clr"></div> <a href="https://5visa.ru/lv/at/pravilnaya-nastroika-wi-fi-routera-asus-rt-g32-instrukciya-po-nastroike.html">lasīt</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">Kā izvēlēties cieto disku un kuru labāk iegādāties...</div> <div class="clr"></div> <a href="https://5visa.ru/lv/multimedia/kakaya-skorost-zhestkogo-diska-horoshaya-kak-vybrat-zhestkii-disk-i.html">lasīt</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 par manekeniem. Zvani un adrešu grāmata....</div> <div class="clr"></div> <a href="https://5visa.ru/lv/internet/meizu-dlya-chainikov-zvonki-i-adresnaya-kniga-storonnie-prilozheniya-dlya.html">lasīt</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">Lejupielādēt PDFMaster</div> <div class="clr"></div> <a href="https://5visa.ru/lv/program/smotret-pdf-faily-skachat-programmu-pdfmaster.html">lasīt</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>Internets. Multivide. Navigators. Izglītība. BY. Programmaparatūra. Programmas. Padoms. Uzstādīšana</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="">Projekta izdevums</a></li> <li><a href="">Reklāma mājas lapā</a></li> </ul> <ul> <li><a href="https://5visa.ru/lv/feedback.html">Kontakti</a></li> <li><a href="https://5visa.ru/lv/sitemap.xml">Vietnes karte</a></li> </ul> </div> </div> </div> <div class="copyright">© 2023 Internets. Multivide. Navigators. Izglītība. BY. Programmaparatūra. Programmas. Padoms. Uzstādīšana</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="Ritiniet līdz augšai">Tops</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>