HTML forme. Uklanjanje WP verzije

HitmanPro otkriva, identificira i uklanja viruse, špijunski softver, trojance, rootkite i drugi zlonamjerni softver.

Uslužni program koristi vlastitu analizu ponašanja i mehanizam za ispitivanje klastera datoteka, kao i inovativnu tehnologiju skeniranja u oblaku koristeći antivirusne baze podataka SophosLabs, Kaspersky i Bitdefender. HitmanPro skener otkriva i uklanja potencijalno zlonamjerne prijetnje uz minimalan utjecaj na performanse sistema.

* HitmanPro je besplatni antivirusni skener. Funkcija brisanja dostupna je 30 dana besplatno.

Ključne karakteristike HitmanPro-a

Može li vaš antivirusni program podnijeti najnovije prijetnje?

Novi izvor zlonamjernog softvera može se pronaći bilo gdje, čak i na pouzdanim web lokacijama. Ove prijetnje mogu koristiti različite tehnike za izbjegavanje antivirusne zaštite. HitmanPro je dizajniran da radi s antivirusnom zaštitom i koristi duboku analizu ponašanja kako bi pronašao i neutralizirao prijetnje nultog dana – moderne prijetnje koje pokušavaju izbjeći otkrivanje.

Detekcija ponašanja + kolektivno iskustvo

Umjesto da koristi definicije potpisa za identifikaciju zlonamjernog softvera, HitmanPro ispituje ponašanje svake datoteke na zlonamjerne aktivnosti. Ovaj pristup daje HitmanPro-u mogućnost da blokira najnoviji podmukli zlonamjerni softver i viruse prije nego što budu identificirani. HitmanPro se također povezuje sa SophosLabs bazom podataka zlonamjernog softvera kako bi otkrio više oblika novih prijetnji i pratio ih do njihovog izvora.

Bez instalacije

HitmanPro zauzima 12 megabajta i ne zahtijeva instalaciju. Program se može pokrenuti direktno sa vašeg desktopa, USB diska, CD/DVD-a ili udaljenog skladišta. Čak i ako vaš antivirus kontrolira zlonamjerni softver ili ransomware, HitmanPro će raditi ispravno i moći će otkriti i ukloniti prijetnje.

Sveobuhvatna restauracija

HitmanPro vam omogućava da uklonite uporne prijetnje koje su stekle uporište u operativnom sistemu i zamjenjuje zaražene sistemske resurse sigurnim, originalnim verzijama, dok nastavlja da blokira pokušaje ponovne zaraze.

Testing Awards

Prijenos podataka kroz niz $_SESSION je dozvoljen jednom; preneseni podaci se odmah brišu. Ovo može biti korisno, na primjer, prilikom „vraćanja“ podataka unesenih u drugom modulu u obrazac.

Dobro je kada su sve servisne funkcije spojene u jedan modul, koji glavni moduli povezuju preko direktive require_once. Naš modul servisnih funkcija nazvat ćemo function.php i, pored spomenutih trimall i magic metoda, tu ćemo uključiti sljedeće funkcije:

  • read() - će pročitati trenutnu bazu podataka i vratiti niz zapisa;
  • write($a) - upisaće niz zapisa $a u datoteku;
  • get_index_by_name ($a,$name) - tražiće odgovarajući unos po imenu $name i vratiti njegov broj (od nule) ili vrijednost -1 ako unos nije pronađen. Ovo je korisno za razlikovanje između dodavanja novog unosa i uređivanja postojećeg.

Osim toga, datoteka funkcija će uključiti konfiguracijsku datoteku i pokrenuti sesiju - ove mogućnosti mogu biti potrebne svakom modulu koji ga povezuje.

Function.php fajl

Imajte na umu da funkcija čitanja dodatno filtrira niz zapisa iz praznih nizova (za svaki slučaj, općenito se ne bi trebali pojaviti), a trimall će prvo zamijeniti svaki neprazan niz graničnika s jednim razmakom (drugi preg_replace), i zatim uklonite moguće dodatne graničnike na početku i na kraju preostalog reda (prvi preg_replace).

Također postoji nijansa s funkcijom čitanja u smislu kompatibilnosti koda. Budući da njegova jedina linija sadrži anonimnu funkciju, pretpostavlja se da se koristi PHP verzija ne niža od 5.3. Ako je potrebno, zamijenite kod ispod onim gdje je funkcija filtriranja imenovana ili se uopće ne koristi, kao ovdje:

Funkcija read () ( $str=@file_get_contents (FILENAME); $a=explode("\n",$str); return $a; )

Ispravno prevođenje Unicode stringa u mala slova je također važno (pogledajte mb_strtolower u kodu). Ovdje ne koristimo lokalizaciju.

Izgleda da je vrijeme za pisanje glavne datoteke index.php. On će rješavati sljedeće zadatke:

  • prikazati obrazac za dodavanje novog unosa, koji se obrađuje modulom add.php;
  • pored obrasca za dodavanje prikazaćemo dodatne komande - brisanje forme „samopozivanjem“ skripte bez parametara (dugme ovde neće raditi, jer ne prenosi podatke na server) i link za pristup sortiranju zapisa modul pod nazivom sort.php;
  • primaju rezultate svog rada od drugih modula u obliku numeričke varijable $status i prikazuju odgovarajuće poruke (niz $status_msg). Vrijednost $status jednaka nuli bit će prihvaćena po defaultu, ona odgovara izlazu kratke pomoći o radu programa;
  • ako baza podataka nije prazna, pokažite njene zapise i omogućite prijelaz na uređivanje ili brisanje.

Da ne bismo preopteretili tabelu dodatnim dugmadima i vezama, kliknimo po imenu tako što ćete urediti unos pomoću modula edit.php i kliknuti po polju "Broj"će odgovarati brisanju unosa od strane modula del.php.

Evo kako to izgleda sa nekoliko dodatih unosa:

Izgled skripte "Mini-DB na tekstualnoj datoteci"

index.php fajl

Sada pređimo na module koji nedostaju. Čini se da add.php ima jednostavan posao - nabavite varijable $name i $number iz index.php i zapišite ih u datoteku. Međutim, modul mora provjeriti da li mu se prosljeđuju neprazni podaci, kao i da može razlikovati situaciju kada se unese ime koje već postoji u bazi podataka od unosa novog zapisa (pogledajte ako ($id>- 1) ( ... ) ostalo ( ... ) u kodu). U potonjem slučaju, unos se uvijek dodaje na kraj, jer će postojati modul za sortiranje nizova po abecednom redu.

Također je važno da je niz $name, "prošao" kroz rukovao parametrima, već lišen "kritičnih" znakova za označavanje poput ", ",< и >, a u nizu $a koji se čita iz datoteke podataka, svi redovi su “kao što jesu”, a 123 neće biti pronađeno ako se $name pretvorilo u 123 nakon obrade. Stoga, funkciji pretraživanja zapisa, koju zovemo get_index_by_name, prosljeđuje se niz konvertiran “nazad” u svoj originalni oblik pomoću standardne funkcije htmlspecialchars_decode (dostupne od PHP 5.1). U istom obliku, string se vraća nazad u index.php kroz niz $_SESSION. Ovo će pružiti određenu pogodnost - nakon unosa novog unosa, njegovi podaci će ostati u obrascu i biće moguće unijeti još jedan unos, malo drugačiji po imenu ("Ivanova" nakon "Ivanov").

Pa, povratak od modula do modula je apsolutno standardan - kroz standardnu ​​funkciju zaglavlja. Zapamtite da se može koristiti samo ako modul još nije ništa objavio u pretraživač.

add.php fajl

Sada o uređivanju, biće implementirano u edit.php. Obrazac za uređivanje je skoro isti kao i formular za dodavanje, samo smo bili previše lijeni da kreiramo zasebnu funkciju za prikaz obrasca. Što je još važnije, sam modul će biti procesor podataka koji se prenose putem obrasca za uređivanje, te stoga mora razlikovati situaciju kada je upravo pozvan od one kada je korisnik kliknuo na “Sačuvaj”. Posljednji zadatak je provjeriti

Ako (!empty($_POST["submit"]) && !empty($name) && isset($broj) && isset($id)) (

utvrđivanje da li je dugme pritisnuto i da li su svi podaci prebačeni. Druga grana -

Inače if (isset($a[$id])) (

je namijenjen situaciji kada postoji unos u nizu $a, čiji se broj prosljeđuje skripti i mora se urediti. Broj unosa je pohranjen u skrivenom HTML polju.

Datoteka edit.php

Del.php modul za uklanjanje zapisa će biti prilično jednostavan, sve što treba je da dobijete važeći zapis $id (broj elementa u nizu $a), uklonite odgovarajući element iz niza, prepišete fajl i vratite se na glavni modul stranica.

Fajl del.php

Konačno, sort.php modul za sortiranje će uvesti novi problem - kako sortirati Unicode nizove po abecednom redu bez razlikovanja između velikih i malih slova? "Direktno" sortiranje pomoću standardne funkcije sortiranja teško je prikladno - smatra da su mala i velika slova različiti znakovi. Nismo postavili lokalizaciju, pogotovo jer ne postoji jedinstveni obrazac za unos za sve operativne sisteme da ga instaliraju.

Ograničimo se na izbor usort iz čitavog niza funkcija za sortiranje nizova sa prilagođenom funkcijom za poređenje elemenata.

Korišteno "direktno" poređenje jednoznakovnih Unicode nizova, čini se, nije sasvim ispravno, ali strcmp uspoređuje nizove bajt po bajt i nije prikladno za nas, ali općenito poređenje je ispravno bilo koji stringovi u Unicode-u je veoma težak zadatak... Sve mi je funkcionisalo u sistemu za ruski i engleski, na primer, nakon sortiranja sam dobio prirodni redosled reči, kao npr.

Abba, Avka, avklit, basya, Bobi, Bobik, bobik, Bobina

File sort.php

Sve što treba da uradimo je da kreiramo fajl u folderu pod nazivom .htaccess, gde ćemo postaviti podrazumevano kodiranje na Unicode i navesti direktive za postavljanje citata za sajt, tako da...

U istoj fascikli kreirajte praznu (0 bajtova) datoteku data.txt (opciono ako su sva prava konfigurisana).

File.htaccess AddDefaultCharset utf-8 php_flag magic_quotes_gpc isključen php_flag magic_quotes_runtime isključen php_flag magic_quotes_sybase isključen

Možete vidjeti šta se desilo i javite mi za probleme koje ste našli, napisao sam scenario vrlo brzo, u 2 koraka, i možda nisam nešto smislio :)

Zbirka korisnih isječaka (kodova). Kodovi su dizajnirani za uobičajene zadatke prilikom uređivanja ili kreiranja teme.

Tipično, sav ovaj kod treba staviti u datoteku functions.php teme. Ili, možete kreirati zasebnu.php datoteku, postaviti kod tamo i povezati datoteku sa functions.php teme ovako:

// povezivanje isječaka require_once "functions-snippets.php";

CSS izgled za TinyMCE editor

Povezuje datoteku stilova sa WordPress TinyMCE editorom. Na ovaj način možemo podesiti stilove uređivača u admin panelu i, kada uređujemo objavu, vidjeti kako to izgleda u prednjem dijelu.

// Stilovi za TinyMCE editor // Morate kreirati datoteku "editor-styles.css" u folderu teme add_action("current_screen", "my_theme_add_editor_styles"); funkcija my_theme_add_editor_styles() ( add_editor_style("editor-styles.css"); )

CSS za stranicu za prijavu

## CSS za stranicu za prijavu ## Morate kreirati datoteku "wp-login.css" u folderu teme add_action("login_head", "my_loginCSS"); funkcija my_loginCSS() ( echo ""; )

CSS za admin panel

Uključuje stilski fajl na svim stranicama administrativnog panela. Na taj način možete jednostavno mijenjati i dopunjavati stilove administrativnog panela.

## CSS stilovi za admin panel. Morate kreirati datoteku "wp-admin.css" u folderu teme add_action("admin_enqueue_scripts", "my_admin_css", 99); function my_admin_css())( wp_enqueue_style("my-wp-admin", get_template_directory_uri() ."/wp-admin.css"); )

Uklanjanje admin trake sa prednjeg kraja

Admin traka može stati na put kada tema koristi fiksne (plutajuće) blokove. U takvim slučajevima, ponekad je lakše ukloniti ovu šipku.

## Uklanja admin traku sa prednje strane add_filter("show_admin_bar", "__return_false"); ## Omogući podršku za vidžete. Dodajte područje za widgete if(function_exists("register_sidebar"))( register_sidebar(array("before_widget" => "", "after_widget" => "", "before_title" => "", "after_title" => "" , )); )

Aktiviranje podrške prilagođenog menija

Registruje oblast (lokaciju) za meni i omogućava podršku menija. Nakon instaliranja ovog koda u admin panel, biće moguće kreirati prilagođene menije i priložiti ih oblastima kreiranim ovim kodom. U predlošku menija, prikazuje ga funkcija wp_nav_menu().

## Dodaj prilagođene menije register_nav_menus(array("main" => "Glavni meni", "in_footer" => "Meni u podnožju",));

Dodavanje linkova na RSS feed za objave i komentare

Prilagođena pozadinska slika ili pozadina ## Omogućava mogućnost postavljanja pozadinske slike sa administrativnog panela add_theme_support("custom-background");

Kao rezultat, kod će ispisati:

body.custom-background (boja pozadine: #bdd96e; )

Uključujući kratke kodove u tekstualni vidžet

Mnogi dodaci koriste kratke kodove, ali nemaju svi vidžete. U ovom slučaju, bilo bi zgodno koristiti kratki kod dodatka u widgetu „Tekst“.

## Kratki kodovi u widgetu "Text" if(! is_admin())( add_filter("widget_text", "do_shortcode", 11); )

Nasumični tekst prema zadanim postavkama u polju sadržaja u oblasti administracije

Kada kreirate novi unos (objavu ili stranicu), ponekad je zgodno tu imati neke bilješke koje objašnjavaju kako i šta napisati. Da biste to učinili, možete umetnuti zadani tekst u sadržaj:

## Nasumični podrazumevani tekst za editor add_filter("default_content", "writing_encouragement_func"); function writing_encouragement_func($content) ( globalni $post_type; // Tekstovi za uređivač, vrsta objave if($post_type == "post")( $array = array("Neka poruka", "Neka poruka", ); vrati $ array[ array_rand($array) ]; ) // Tekstovi za uređivač, stranica tipa posta else ( $array = array("Neka poruka", "Neka poruka",); return $array[ array_rand($array) ]; ) )

Promjena broja unosa na stranici za pretraživanje

Podrazumevano, stranica za pretragu prikazuje isti broj unosa na stranici kao i drugde, kao što je podešeno u postavkama.

Ovaj primjer pokazuje kako prikazati 100 zapisa na stranici.

## promijenite količinu postova na stranici za pretraživanje - postavite ovdje na 100 add_action("pre_get_posts", "search_results_per_page_func"); funkcija search_results_per_page_func($query) ( // upit na stranici za pretraživanje if(! is_admin() && $query->is_main_query() && $query->is_search())( $query->set("posts_per_page", 100) ; ) vrati $query; )

Određuje koliko riječi treba biti u citatu, koji se obično prikazuje na arhiviranim stranicama postova (kategorije, oznake). Citat izlazi pomoću funkcije_excerpt().

## Promjena dužine citata add_filter("excerpt_length", "custom_excerpt_length_func"); funkcija custom_excerpt_length_func($length) (vrat 20; // broj riječi)

Uklanjanje polja iz profila u admin panelu: AIM, Yahoo IM, Jabber ## uklanja polja iz profila: AIM, Yahoo IM, Jabber / Google Talk add_filter("user_contactmethods", "remove_contactmethod"); function remove_contactmethod($contactmethods) ( unset($contactmethods["aim"]); unset($contactmethods["jabber"]); unset($contactmethods["yim"]); return $contactmethods; ) Dodavanje polja u profil u adminu: facebook, twitter ## Dodaje polja u profil: AIM, Yahoo IM, Jabber / Google Talk add_filter("user_contactmethods", "add_contactmethod"); function add_contactmethod($contactmethods) ( $contactmethods["twitter"] = "Twitter"; $contactmethods["facebook"] = "Facebook"; vrati $contactmethods; ) Dodavanje klase has_sidebar u oznaku ako postoji bočna traka

Da bi ovaj hak funkcionirao, oznaka teme mora koristiti oznaku šablona body_class(), kao što je uobičajeno.

## Dodavanje klase `has_sidebar` oznaci `` ako postoji bočna traka add_filter("body_class", "has_sidebar_func"); function has_sidebar_func($classes)( if(is_active_sidebar("sidebar"))( // dodaj klasu $classes = "has_sidebar"; ) vrati $classes; )

Dodavanje widgeta na konzolu

Ponekad može biti korisno dodati widget na konzolu administratorske ploče za postavljanje važnih informacija u vezi sa trenutnom temom.

## Prilagođeni widget u konzoli u admin panelu add_action("wp_dashboard_setup", "my_custom_dashboard_widgets"); funkcija my_custom_dashboard_widgets() ( wp_add_dashboard_widget("custom_help_widget", "Napomene o temi", "custom_dashboard_help"); ) funkcija custom_dashboard_help() ( echo "

Dobrodošli u temu "Moja tema"! Evo nekoliko napomena na ovu temu.";)

Dobijamo ovaj widget:

Uključujući skriptu za odgovor na komentar

Ova skripta pomera obrazac za komentar kada kliknete na dugme "Odgovori".

## Povezivanje skripte odgovora na komentar add_action("wp_footer", "enable_threaded_comments"); funkcija enable_threaded_comments())( if(is_singular() && comments_open() && get_option("thread_comments")) wp_enqueue_script("komentar-odgovor"); )

Slike Uključite sličice objave

Po defaultu, postovi nemaju blok gdje možete postaviti sličicu posta. Da bi se takav blok pojavio, mora biti omogućen. Morate omogućiti podršku za sličice. Ovo se radi vrlo jednostavno:

## Omogućavanje sličica objave add_theme_support("post-thumbnails"); set_post_thumbnail_size(200, 200, istina); // Normalne sličice posta

Kreiranje dodatnih srednjih veličina sličica

Kada otpremite sliku, za nju se kreiraju dodatne veličine - sličice. Osnovnim – proizvoljnim – jednostavno možete dodati svoje dimenzije.

## Kreiranje srednjih veličina sličica if(function_exists("add_image_size"))( add_image_size("mysize-horizont", 300, 200, true); add_image_size("mysize-vertical", 400, 500, true); )

Da dobijete registrovanu veličinu, koristite funkciju:

Dodavanje sličice u RSS feed

Ovaj kod dodaje sličicu posta na vrh RSS feeda.

## Dodavanje sličice u RSS feed add_filter("the_excerpt_rss", "add_thumbnail_to_feed"); //add_filter("the_content_feed", "add_thumbnail_to_feed"); // obično se ova kuka ne koristi, ali može biti i... function add_thumbnail_to_feed($content)( $img = get_the_post_thumbnail(null, array(100, 80), array("align" => "lijevo", " style" => "margin-right:15px;")); $content = $img . $content; vrati $content; )

Otkažite umotavanje slika u oznaku

U sadržaju

Prilikom prikazivanja sadržaja u temi pomoću the_content() , funkcija wpautop() se pokreće i kao rezultat toga ako je na zasebnoj liniji, umotava se

One. bio postao .

Ovaj primjer pokazuje kako ukloniti ovo čudno ponašanje.

## Otkažite umotavanje slika u oznaku `

` u sadržaju add_filter("the_content", "remove_img_ptags_func"); funkcija remove_img_ptags_func($content)( return preg_replace("/

\s*((?:]+>)?\s* ]+>\s*(?:)?)\s*/i", "\1", $content); ) // Povezivanje html5 skripte za IE sa cdn add_action("wp_head", "IEhtml5_shim_func"); function IEhtml5_shim_func())( echo ""; // ili ako vam je također potrebna podrška za ispis // echo ""; )

Postavite maksimalni broj revizija zapisa

Podrazumevano, broj revizija zapisa je neograničen i to može nepotrebno zatrpati bazu podataka. Potpuno onemogućavanje revizija takođe nije najbolje rešenje, jer se dešava da prilikom uređivanja zapisa nešto pođe po zlu pa se uneti podaci izgube - posao ode u vodu...

U idealnom slučaju, ograničite broj revizija, na primjer na 5:

If(! Defined("WP_POST_REVISIONS")) define("WP_POST_REVISIONS", 5);

Konstanta mora biti definirana u dodatku ili ranije.

Zaštita Uklanjanje WP verzija

Ovo je neophodno kako hakeri ne znaju WP verziju i ne mogu identifikovati slabe tačke. Uz ovaj kod, potrebno je i brisanje readme.html datoteke u korijenu stranice, jer on također označava trenutnu verziju.

## Potpuno uklanjanje WP verzije ## Takođe morate da obrišete datoteku readme.html u korenu sajta remove_action("wp_head", "wp_generator"); // iz zaglavlja add_filter("the_generator", "__return_empty_string"); // iz feedova i URL-ova

Onemogućite poruke o greškama na stranici za prijavu

U slučaju greške prilikom unosa logina ili lozinke, WP javlja šta je tačno pogrešno uneto: login ili lozinka. Ovo pruža dodatne informacije za pogađače lozinke.

Onemogućite mogućnost uređivanja datoteka na administrativnom panelu za teme i dodatke

Mogućnost uređivanja datoteka direktno sa administrativnog panela može postati velika sigurnosna rupa. Hajde da ga zatvorimo.

## Onemogući mogućnost uređivanja datoteka u admin panelu za teme i dodatke define("DISALLOW_FILE_EDIT", true);

Zatvorite publikaciju putem xmlrpc.php

Podrazumevano je omogućena mogućnost objavljivanja postova putem datoteke xmlrpc.php.

Ovo je prilika za objavljivanje postova izvana, na primjer iz e-pošte... Najčešće ova funkcionalnost nije potrebna i može postojati potencijalna rupa u njoj. Stoga ga je najčešće poželjno onemogućiti. Inače, u ranijim verzijama WordPress-a ova funkcionalnost je bila onemogućena po defaultu i morala je biti omogućena da bi se mogla koristiti.

## onemogućiti mogućnost objavljivanja putem xmlrpc.php add_filter("xmlrpc_enabled", "__return_false");

Prilikom kreiranja čak i lične web stranice, ne može svatko predvidjeti sve moguće načine njenog daljnjeg korištenja. Veoma je važno pripremiti teren za dalji razvoj lokacije. Ako ste u prošlosti kreirali web stranicu i svim stranicama dodijelili .html ekstenziju prema zadanim postavkama, a tek onda odlučili da koristite PHP, onda čitajte dalje.

Ranije, da bi se koristio SSI, nazivi stranica stranica morali su završavati ekstenzijom .shtml, ali danas je većina internetskih servera konfigurirana tako da se SSI može koristiti na stranicama sa ekstenzijom .html, što je prilično zgodno. PHP je sasvim druga priča - ekstenzija .php je podrazumevana ekstenzija. Programeri web stranica, znajući unaprijed da će se dati programski jezik koristiti, odmah dodjeljuju ispravnu ekstenziju.

Ali šta učiniti kada se sve stranice završavaju sa .html ekstenzijom?

Zamijenite HTML ekstenziju PHP-om

To se može učiniti na nekoliko načina. Najočigledniji način je da svim stranicama date .php ekstenziju ili promijenite postojeće ekstenzije (.html, .shtml, itd.). Ova metoda ima nedostatke. Na primjer, već indeksirane stranice s ekstenzijom .html morat će ponovo indeksirati tražilice. Ili još gore, sve vanjske veze koje eksplicitno povezuju na određenu stranicu bit će nevažeće. I morat ćete obavijestiti vlasnike svake stranice o ovim promjenama i kreirati drugu stranicu sa 301 greškom za svaku stranicu. Naravno, prihvatljiva je promjena jedne ekstenzije u drugu, ali što ako web lokacija već ima mnogo stranica i mnogo linkova na različite stranice s drugih stranica?

Iz svjesnog razloga, trenutno se sve stranice ove stranice završavaju html ekstenzijom i nisam želio da vršim gore navedene izmjene, stvarajući sam sebi nepotrebne poteškoće.

Možete to učiniti na drugi način. Ako server koji hostuje web lokaciju podržava mod_rewrite (u većini slučajeva ima), i postoji pristup .htaccess datoteci, tada možete dodati sljedeće redove upravo ovoj datoteci:

RewriteEngine na RewriteRule ^(.*)\.html $1\.php

Dodavanjem ovog koda u .htaccess, ne morate da brinete. Sve tražene nepostojeće stranice sa .html ekstenzijom biće automatski zamenjene ekstenzijom .php zahvaljujući čudima Apache-a. Ali ova metoda nije jedina. U istu .htaccess datoteku možete napisati sljedeće:

AddHandler application/x-httpd-php .php .html .htm

Po mom mišljenju najuspješniji način. Ovo čini HTML stranice jednakim PHP stranicama, što znači da se sve PHP funkcije sada mogu koristiti na stranicama sa HTML ekstenzijom. Ako nemate pristup .htaccess datoteci, onda možete napisati pismo hosting kompaniji i ljubazno zamoliti administratore da unesu potrebnu vrijednost za stranicu u Apache konfiguraciji (httpd.conf).

Usput, ako je prije ovoga stranica koristila SSI na sljedeći način:

onda u novom PHP stanju ovaj kod treba zamijeniti sa:

Pa, to je sve, mislim da će jedna od gore navedenih metoda pomoći.