Mga form ng HTML. Pag-alis ng bersyon ng WP

Nakikita, nakikilala at tinatanggal ng HitmanPro ang mga virus, spyware, Trojan, rootkit at iba pang malware.

Gumagamit ang utility ng sarili nitong pagsusuri sa pag-uugali at file cluster examination engine, pati na rin ang makabagong teknolohiya sa pag-scan ng ulap gamit ang mga database ng antivirus ng SophosLabs, Kaspersky at Bitdefender. Ang HitmanPro scanner ay nakakakita at nag-aalis ng mga potensyal na nakakahamak na banta na may kaunting epekto sa pagganap ng system.

* Ang HitmanPro ay isang libreng antivirus scanner. Ang tampok na pagtanggal ay magagamit sa loob ng 30 araw nang walang bayad.

Mga pangunahing tampok ng HitmanPro

Mahawakan ba ng iyong antivirus ang mga pinakabagong banta?

Ang isang bagong mapagkukunan ng malware ay matatagpuan kahit saan, kahit na sa mga pinagkakatiwalaang site. Ang mga banta na ito ay maaaring gumamit ng iba't ibang mga diskarte upang maiwasan ang proteksyon ng antivirus. Ang HitmanPro ay idinisenyo upang gumana sa proteksyon ng antivirus at gumagamit ng malalim na pagsusuri sa pag-uugali upang mahanap at i-neutralize ang mga zero-day na pagbabanta - mga modernong banta na sumusubok na umiwas sa pagtuklas.

Pagtukoy sa pag-uugali + kolektibong karanasan

Sa halip na gumamit ng mga kahulugan ng lagda upang matukoy ang malware, sinusuri ng HitmanPro ang gawi ng bawat file para sa malisyosong aktibidad. Ang diskarte na ito ay nagbibigay sa HitmanPro ng kakayahang harangan ang pinakabagong mapanlinlang na malware at mga virus bago sila matukoy. Kumokonekta din ang HitmanPro sa database ng malware ng SophosLabs para makakita ng higit pang mga anyo ng mga bagong banta at masubaybayan ang mga ito pabalik sa kanilang pinagmulan.

Walang pag-install

Ang HitmanPro ay tumatagal ng hanggang 12 megabytes at hindi nangangailangan ng pag-install. Maaaring direktang ilunsad ang program mula sa iyong desktop, USB drive, CD/DVD o remote storage. Kahit na ang iyong antivirus ay kinokontrol ng malware o ransomware, gagana nang tama ang HitmanPro at makakatuklas at makakapag-alis ng mga banta.

Komprehensibong pagpapanumbalik

Binibigyang-daan ka ng HitmanPro na alisin ang mga patuloy na pagbabanta na nakakuha ng saligan sa operating system at pinapalitan ang mga nahawaang mapagkukunan ng system ng ligtas, orihinal na mga bersyon, habang patuloy na hinaharangan ang mga pagtatangka sa muling impeksyon.

Mga Gantimpala sa Pagsubok

Ang paglilipat ng data sa pamamagitan ng $_SESSION array ay pinapayagan nang isang beses; ang inilipat na data ay agad na tatanggalin. Maaari itong maging kapaki-pakinabang, halimbawa, kapag ang "pagbabalik" ng data ay inilagay sa isa pang module sa isang form.

Ito ay mabuti kapag ang lahat ng mga function ng serbisyo ay pinagsama sa isang module, kung saan ang mga pangunahing module ay kumokonekta sa pamamagitan ng require_once na direktiba. Tatawagin namin ang aming module ng function ng serbisyo function.php at, bilang karagdagan sa nabanggit na trimall at magic na pamamaraan, isasama namin ang mga sumusunod na function doon:

  • read() - babasahin ang kasalukuyang database at magbabalik ng hanay ng mga tala;
  • write($a) - magsusulat ng hanay ng mga record $a sa isang file;
  • get_index_by_name ($a,$name) - hahanapin ang kaukulang entry sa pamamagitan ng pangalan $name at ibabalik ang numero nito (mula sa zero) o ang value -1 kung hindi natagpuan ang entry. Ito ay kapaki-pakinabang upang makilala ang pagkakaiba sa pagitan ng pagdaragdag ng isang bagong entry at pag-edit ng isang umiiral na.

Bilang karagdagan, ang file ng mga function ay isasama ang configuration file at simulan ang session - ang mga kakayahan na ito ay maaaring kailanganin ng anumang module na nag-uugnay dito.

Function.php file

Tandaan na ang read function ay nagsasala din sa record array mula sa mga walang laman na string (kung sakali, sa pangkalahatan, hindi dapat mangyari ang mga ito), at papalitan muna ng trimall ang anumang hindi walang laman na string ng mga delimiter ng isang espasyo (ang pangalawang preg_replace), at pagkatapos ay alisin ang mga posibleng karagdagang delimiter sa simula at dulo ng natitirang linya (ang unang preg_replace).

Mayroon ding nuance sa read function sa mga tuntunin ng code compatibility. Dahil ang tanging linya nito ay naglalaman ng isang hindi kilalang function, ipinapalagay na ang bersyon ng PHP ay hindi bababa sa 5.3 ang ginagamit. Kung kinakailangan, palitan ang code sa ibaba ng isa kung saan pinangalanan o hindi ginagamit ang function ng pag-filter, tulad dito:

Binasa ang function () ($str=@file_get_contents (FILENAME); $a=explode("\n",$str); return $a; )

Ang wastong pag-cast ng Unicode string sa lowercase ay mahalaga din (tingnan ang mb_strtolower sa code). Hindi kami gumagamit ng lokal dito.

Mukhang oras na para isulat ang pangunahing index.php file. Lutasin niya ang mga sumusunod na gawain:

  • magpakita ng form para sa pagdaragdag ng bagong entry, na pinoproseso ng add.php module;
  • sa tabi ng pagdaragdag ng form ay magpapakita kami ng mga karagdagang utos - pag-clear sa form sa pamamagitan ng "self-invoking" ng isang script na walang mga parameter (ang pindutan ay hindi gagana dito, dahil hindi ito naglilipat ng data sa server) at isang link upang ma-access ang pag-uuri ng tala module na pinangalanang sort.php;
  • tumanggap ng mga resulta ng kanilang trabaho mula sa ibang mga module sa anyo ng isang numeric variable na $status at magpakita ng kaukulang mga mensahe (array $status_msg). Ang halaga ng $status na katumbas ng zero ay tatanggapin bilang default, tumutugma ito sa output ng maikling tulong tungkol sa pagpapatakbo ng program;
  • kung walang laman ang database, ipakita ang mga tala nito at magbigay ng transition sa pag-edit o pagtanggal.

Upang hindi ma-overload ang talahanayan ng mga karagdagang button at link, mag-click tayo sa pamamagitan ng pangalan sa pamamagitan ng pagpunta sa pag-edit ng entry gamit ang edit.php module, at pag-click ayon sa field na "Number" ay tumutugma sa pagtanggal ng isang entry ng del.php module.

Narito ang hitsura ng ilang mga entry na idinagdag:

Hitsura ng script na "Mini-DB sa isang text file"

index.php file

Ngayon ay lumipat tayo sa nawawalang mga module. Mukhang may simpleng trabaho ang add.php - kunin ang $name at $number variable mula sa index.php at isulat ang mga ito sa isang file. Gayunpaman, dapat suriin ng module na ang hindi walang laman na data ay ipinapasa dito, at magagawang makilala ang sitwasyon kapag ang isang pangalan na mayroon na sa database ay ipinasok mula sa pagpasok ng isang bagong tala (tingnan kung ($id>- 1) ( ... ) iba pa ( ... ) sa code). Sa huling kaso, palaging idinaragdag ang entry sa dulo, dahil magkakaroon ng module para sa pag-uuri ng mga string ayon sa alpabeto.

Mahalaga rin na ang string ng $name, "napasa" sa handler ng parameter, ay wala nang "kritikal" na mga markup character tulad ng ", ",< и >, at sa array $a na nabasa mula sa data file, ang lahat ng mga linya ay "as is", at 123 ay hindi makikita kung ang $name ay naging 123 pagkatapos ng pagproseso. Samakatuwid, ang function ng paghahanap ng talaan, na tinatawag naming get_index_by_name , ay ipinapasa ang isang string na na-convert na "pabalik" sa orihinal nitong anyo gamit ang karaniwang htmlspecialchars_decode function (magagamit mula sa PHP 5.1). Sa parehong anyo, ibinalik ang string sa index.php sa pamamagitan ng $_SESSION array. Magbibigay ito ng ilang kaginhawahan - pagkatapos magpasok ng isang bagong entry, ang data nito ay mananatili sa form at posible na magpasok ng isa pang entry, bahagyang naiiba sa pangalan ("Ivanova" pagkatapos ng "Ivanov").

Buweno, ang pagbabalik mula sa module patungo sa module ay ganap na pamantayan - sa pamamagitan ng karaniwang function ng header. Tandaan na magagamit lamang ito kung ang module ay hindi pa naglalabas ng anuman sa browser.

add.php file

Ngayon tungkol sa pag-edit, ito ay ipapatupad sa edit.php. Ang form sa pag-edit ay halos kapareho ng form sa pagdaragdag, tamad lang kaming gumawa ng hiwalay na function para sa pagpapakita ng form. Ang mas mahalaga ay ang mismong module ay magiging isang processor ng data na ipinadala sa pamamagitan ng form sa pag-edit, at samakatuwid ay dapat na makilala ang sitwasyon kung kailan ito tinawag mula sa isang kapag ang user ay nag-click sa "I-save". Ang huling gawain ay suriin

Kung (!empty($_POST["submit")" && !empty($name) && isset($number) && isset($id)) (

pagtukoy kung ang pindutan ay pinindot at ang lahat ng data ay inilipat. Pangalawang sangay -

Other if (isset($a[$id])) (

ay inilaan para sa sitwasyon kapag mayroong isang entry sa $a array, ang bilang nito ay ipinapasa sa script at dapat itong i-edit. Ang entry number ay naka-imbak sa isang nakatagong HTML field.

Pag-edit ng file.php

Ang del.php record removal module ay magiging simple, ang kailangan lang ay makakuha ng valid record $id (element number sa $a array), alisin ang kaukulang elemento sa array, muling isulat ang file at bumalik sa pangunahing module pahina.

File del.php

Sa wakas, ang sort.php sorting module ay magpapakilala ng isang bagong problema - kung paano ayusin ang mga string ng Unicode ayon sa alpabeto nang hindi nakikilala ang pagitan ng malalaking titik at maliliit na titik? Ang "Direktang" pag-uuri gamit ang karaniwang function ng pag-uuri ay halos hindi angkop - isinasaalang-alang nito ang isang maliit na titik at isang malaking titik na magkaibang mga character. Hindi namin itinakda ang lokal, lalo na dahil walang solong entry form para sa lahat ng mga operating system upang mai-install ito.

Limitahan natin ang ating sarili sa pagpili ng usort mula sa buong iba't ibang mga function para sa pag-uuri ng mga array na may custom na function para sa paghahambing ng mga elemento.

Ang ginamit na "direktang" paghahambing ng mga single-character na Unicode string, tila, ay hindi ganap na tama, ngunit ang strcmp ay naghahambing ng mga string byte-by-byte at hindi angkop para sa amin, ngunit sa pangkalahatan ang paghahambing ay tama anuman Ang mga string sa Unicode ay isang napakahirap na gawain... Lahat ay gumana para sa akin sa system para sa Russian at English, halimbawa, pagkatapos ng pag-uuri nakakuha ako ng mga natural na order ng salita, tulad ng

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

Pag-uuri ng file.php

Ang kailangan lang naming gawin ay lumikha ng isang file sa folder na pinangalanang .htaccess , kung saan itatakda namin ang default na pag-encode sa Unicode at ipahiwatig ang mga direktiba para sa pagtatakda ng mga quote para sa site, kaya...

Sa parehong folder, lumikha ng isang walang laman (0 byte) file na data.txt (opsyonal kung naka-configure ang lahat ng karapatan).

File.htaccess AddDefaultCharset utf-8 php_flag magic_quotes_gpc off php_flag magic_quotes_runtime off php_flag magic_quotes_sybase off

Maaari mong makita kung ano ang nangyari at ipaalam sa akin ang tungkol sa mga problemang nahanap mo, isinulat ko ang script nang napakabilis, sa 2 hakbang, at maaaring hindi ko napag-isipang mabuti :)

Koleksyon ng mga kapaki-pakinabang na snippet (mga code). Ang mga code ay idinisenyo para sa mga karaniwang gawain kapag nag-e-edit o gumagawa ng isang tema.

Karaniwan, ang lahat ng code na ito ay dapat ilagay sa functions.php file ng tema. O, maaari kang lumikha ng isang hiwalay na.php file, ilagay ang code doon at ikonekta ang file sa functions.php ng ​​tema tulad nito:

// connect snippet require_once "functions-snippets.php";

CSS hitsura para sa TinyMCE editor

Ikinokonekta ang styles file sa WordPress TinyMCE editor. Sa ganitong paraan makakapag-set up tayo ng mga istilo ng editor sa admin panel at, kapag nag-e-edit ng post, tingnan kung ano ang hitsura nito sa front end.

// Styles for the TinyMCE editor // You need to create a file "editor-styles.css" sa theme folder add_action("current_screen", "my_theme_add_editor_styles"); function my_theme_add_editor_styles() ( add_editor_style("editor-styles.css"); )

CSS para sa login page

## CSS para sa login page ## Kailangan mong lumikha ng file na "wp-login.css" sa theme folder add_action("login_head", "my_loginCSS"); function my_loginCSS() ( echo ""; )

CSS para sa admin panel

May kasamang style file sa lahat ng page ng admin panel. Kaya, maaari mong madaling baguhin at dagdagan ang mga estilo ng admin panel.

## Mga istilo ng CSS para sa admin panel. Kailangan mong gumawa ng file na "wp-admin.css" sa theme folder 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"); )

Pag-alis ng Admin Bar sa Front End

Ang admin bar ay maaaring makahadlang kapag ang tema ay gumagamit ng mga nakapirming (lumulutang) na mga bloke. Sa ganitong mga kaso, kung minsan ay mas madaling alisin ang bar na ito.

## Tinatanggal ang Admin Bar mula sa front end add_filter("show_admin_bar", "__return_false"); ## Paganahin ang suporta sa widget. Magdagdag ng lugar para sa mga widget kung(function_exists("register_sidebar"))( register_sidebar(array("before_widget" => "", "after_widget" => "", "before_title" => "", "after_title" => "" , ));)

Pag-activate ng suporta sa custom na menu

Nagrerehistro ng isang lugar (lokasyon) para sa isang menu at nagbibigay-daan sa suporta sa menu. Pagkatapos i-install ang code na ito sa admin panel, magiging posible na lumikha ng mga custom na menu at ilakip ang mga ito sa mga lugar na nilikha ng code na ito. Sa isang template ng menu, ito ay ipinapakita ng wp_nav_menu() function.

## Magdagdag ng mga custom na menu register_nav_menus(array("main" => "Main menu", "in_footer" => "Menu sa footer",));

Pagdaragdag ng mga link sa RSS feed ng mga post at comments feed in

Pasadyang larawan sa background o background ## Pinapagana ang kakayahang magtakda ng larawan sa background mula sa admin panel add_theme_support("custom-background");

Bilang resulta, ang code ay maglalabas ng:

body.custom-background ( background-color: #bdd96e; )

Kasama ang mga shortcode sa Text widget

Maraming mga plugin ang gumagamit ng mga shortcode, ngunit hindi lahat ay may mga widget. Sa kasong ito, magiging maginhawang gamitin ang shortcode ng plugin sa widget na "Text".

## Mga shortcode sa widget na "Text" if(! is_admin())( add_filter("widget_text", "do_shortcode", 11); )

Random na teksto bilang default sa field ng nilalaman sa lugar ng admin

Kapag gumagawa ng bagong entry (post o page), minsan ay maginhawa na magkaroon ng ilang mga tala doon, na nagpapaliwanag kung paano at kung ano ang isusulat. Upang gawin ito, maaari mong ipasok ang default na teksto sa nilalaman:

## Random na default na teksto para sa editor add_filter("default_content", "writing_encouragement_func"); function writing_encouragement_func($content) ( global $post_type; // Mga teksto para sa editor, uri ng post if($post_type == "post")( $array = array("Some message", "Some message", ); return $ array[ array_rand($array) ]; ) // Mga teksto para sa editor, iba pang uri ng pahina ng post ($ array = array("Some message", "Some message",); return $array[ array_rand($array) ]; ) )

Pagbabago ng bilang ng mga entry sa pahina ng paghahanap

Bilang default, ipinapakita ng pahina ng paghahanap ang parehong bilang ng mga entry sa pahina tulad ng sa ibang lugar, tulad ng itinakda sa mga setting.

Ipinapakita ng halimbawang ito kung paano magpakita ng 100 tala sa isang pahina.

## baguhin ang dami ng mga post sa pahina ng paghahanap - itakda dito sa 100 add_action("pre_get_posts", "search_results_per_page_func"); function search_results_per_page_func($query) ( // query sa search page if(! is_admin() && $query->is_main_query() && $query->is_search())( $query->set("posts_per_page", 100) ; ) ibalik ang $query;)

Tinutukoy kung gaano karaming mga salita ang dapat nasa isang quote, na karaniwang ipinapakita sa mga naka-archive na pahina ng mga post (mga kategorya, mga tag). Ang quote ay output ng the_excerpt() function.

## Pagbabago ng quote length add_filter("excerpt_length", "custom_excerpt_length_func"); function custom_excerpt_length_func($length) ( return 20; // bilang ng mga salita )

Ang pag-alis ng mga field mula sa isang profile sa admin panel: AIM, Yahoo IM, Jabber ## ay nag-aalis ng mga field mula sa profile: AIM, Yahoo IM, Jabber / Google Talk add_filter("user_contactmethods", "remove_contactmethod"); function remove_contactmethod($contactmethods) ( unset ($contactmethods["layunin"]); unset ($contactmethods["jabber"]); unset($contactmethods["yim"]); ibalik ang $contactmethods; ) Pagdaragdag ng mga field sa isang profile sa admin: facebook, twitter ## Nagdaragdag ng mga field sa profile: AIM, Yahoo IM, Jabber / Google Talk add_filter("user_contactmethods", "add_contactmethod"); function add_contactmethod($contactmethods) ($contactmethods["twitter"] = "Twitter"; $contactmethods["facebook"] = "Facebook"; return $contactmethods; ) Pagdaragdag ng has_sidebar class sa tag kung mayroong sidebar

Upang gumana ang hack na ito, kailangang gamitin ng tag ng tema ang body_class() na template tag, gaya ng nakaugalian.

## Pagdaragdag ng `has_sidebar` na klase sa `` tag kung mayroong sidebar add_filter("body_class", "has_sidebar_func"); function has_sidebar_func($classes)( if(is_active_sidebar("sidebar"))( // magdagdag ng class $classes = "has_sidebar"; ) return $classes; )

Pagdaragdag ng widget sa console

Minsan maaaring kapaki-pakinabang na magdagdag ng widget sa admin panel console upang maglagay ng mahalagang impormasyon tungkol sa kasalukuyang paksa.

## Custom na widget sa console sa admin panel add_action("wp_dashboard_setup", "my_custom_dashboard_widgets"); function my_custom_dashboard_widgets() ( wp_add_dashboard_widget("custom_help_widget", "Theme Notes", "custom_dashboard_help"); ) function custom_dashboard_help() ( echo "

Maligayang pagdating sa paksang "Aking Paksa"! Narito ang ilang mga tala sa paksa.";)

Nakukuha namin ang widget na ito:

Kasama ang script ng tugon ng komento

Inililipat ng script na ito ang form ng komento kapag nag-click ka sa button na "Tumugon".

## Pagkonekta sa script ng tugon ng komento add_action("wp_footer", "enable_threaded_comments"); function enable_threaded_comments())( if(is_singular() && comments_open() && get_option("thread_comments")) wp_enqueue_script("comment-reply"); )

Mga Larawan I-on ang mga post thumbnail

Bilang default, walang block ang mga post kung saan maaari kang magtakda ng thumbnail ng post. Para lumitaw ang naturang block, dapat itong paganahin. Kailangan mong paganahin ang suporta sa thumbnail. Ginagawa ito nang napakasimple:

## Paganahin ang mga post thumbnail add_theme_support("post-thumbnails"); set_post_thumbnail_size(200, 200, true); // Normal na mga thumbnail ng post

Paglikha ng mga karagdagang intermediate na laki ng thumbnail

Kapag nag-upload ka ng isang imahe, ang mga karagdagang laki ay nilikha para dito - mga thumbnail. Madali mong maidaragdag ang iyong sariling mga sukat sa mga pangunahing - mga arbitrary.

## Lumilikha ng mga intermediate na laki ng thumbnail if(function_exists("add_image_size"))( add_image_size("mysize-horizont", 300, 200, true); add_image_size("mysize-vertical", 400, 500, true); )

Upang makuha ang nakarehistrong laki, gamitin ang function:

Pagdaragdag ng thumbnail sa isang RSS feed

Ang code na ito ay nagdaragdag ng post thumbnail sa tuktok ng RSS feed.

## Pagdaragdag ng thumbnail sa RSS feed add_filter("the_excerpt_rss", "add_thumbnail_to_feed"); //add_filter("the_content_feed", "add_thumbnail_to_feed"); // kadalasan ang hook na ito ay hindi ginagamit, ngunit maaari rin itong... function add_thumbnail_to_feed($content)( $img = get_the_post_thumbnail(null, array(100, 80), array("align" => "left", " style" => "margin-right:15px;")); $content = $img . $content; return $content; )

Kanselahin ang pagbabalot ng mga larawan sa isang tag

Sa nilalaman

Kapag nagpapakita ng nilalaman sa isang tema gamit ang_content() , ang wpautop() function ay na-trigger at bilang resulta kung ay nasa isang hiwalay na linya, bumabalot ito

Yung. ay naging .

Ipinapakita ng halimbawang ito kung paano alisin ang kakaibang pag-uugali na ito.

## Kanselahin ang pagbabalot ng mga larawan sa ` tag

` sa content add_filter("the_content", "remove_img_ptags_func"); function na remove_img_ptags_func($content)( return preg_replace("/

\s*((?:]+>)?\s* ]+>\s*(?:)?)\s*/i", "\1", $content); ) // Pagkonekta ng html5 script para sa IE gamit ang cdn add_action("wp_head", "IEhtml5_shim_func"); function na IEhtml5_shim_func())( echo ""; // o kung kailangan mo rin ng suporta sa pag-print // echo ""; )

Itakda ang maximum na bilang ng mga rebisyon sa talaan

Bilang default, ang bilang ng mga pagbabago sa tala ay walang limitasyon at ito ay maaaring hindi kinakailangang makalat sa database. Ang ganap na hindi pagpapagana ng mga rebisyon ay hindi rin ang pinakamahusay na solusyon, dahil nangyayari na kapag nag-e-edit ng isang talaan ay may mali at nawala ang ipinasok na data - ang trabaho ay nasa alisan ng tubig...

Sa isip, limitahan ang bilang ng mga rebisyon, halimbawa sa 5:

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

Dapat tukuyin ang pare-pareho sa plugin o mas maaga.

Proteksyon Pag-alis ng bersyon ng WP

Ito ay kinakailangan upang hindi malaman ng mga hacker ang bersyon ng WP at hindi matukoy ang mga mahihinang punto. Kasama ng code na ito, kailangan mo ring tanggalin ang readme.html file sa ugat ng site, dahil ipinapahiwatig din nito ang kasalukuyang bersyon.

## Kumpletuhin ang Pag-alis ng bersyon ng WP ## Kailangan mo ring tanggalin ang readme.html file sa ugat ng site remove_action("wp_head", "wp_generator"); // from the header add_filter("the_generator", "__return_empty_string"); // mula sa mga feed at URL

Huwag paganahin ang mga mensahe ng error sa pahina ng pag-login

Sa kaso ng isang error kapag naglalagay ng login o password, iniuulat ng WP kung ano ang eksaktong naipasok na hindi tama: login o password. Nagbibigay ito ng karagdagang impormasyon para sa mga manghuhula ng password.

Huwag paganahin ang kakayahang mag-edit ng mga file sa admin panel para sa mga tema at plugin

Ang kakayahang mag-edit ng mga file nang direkta mula sa admin panel ay maaaring maging isang malaking butas sa seguridad. Isara na natin.

## Huwag paganahin ang kakayahang mag-edit ng mga file sa admin panel para sa mga tema at plugin na tukuyin ("DISALLOW_FILE_EDIT", true);

Isara ang publikasyon sa pamamagitan ng xmlrpc.php

Bilang default, pinagana ang kakayahang mag-publish ng mga post sa pamamagitan ng xmlrpc.php file.

Isa itong pagkakataong mag-publish ng mga post mula sa labas, halimbawa mula sa email... Kadalasan, hindi kailangan ang functionality na ito at maaaring may mga potensyal na butas dito. Samakatuwid, kadalasan ito ay kanais-nais na huwag paganahin ito. Sa pamamagitan ng paraan, sa mga naunang bersyon ng WordPress ang pag-andar na ito ay hindi pinagana bilang default at kailangang paganahin upang magamit ito.

## huwag paganahin ang kakayahang mag-publish sa pamamagitan ng xmlrpc.php add_filter("xmlrpc_enabled", "__return_false");

Kapag gumagawa ng kahit isang personal na website, hindi lahat ay maaaring mahulaan ang lahat ng posibleng paraan ng karagdagang paggamit nito. Napakahalaga na ihanda ang lupa para sa karagdagang pag-unlad ng site. Kung nakagawa ka ng website sa nakaraan at itinalaga ang .html extension sa lahat ng page bilang default, at pagkatapos ay nagpasya kang gumamit ng PHP, pagkatapos ay magbasa.

Dati, upang magamit ang SSI, ang mga pangalan ng pahina ng site ay kailangang magtapos sa extension na .shtml, ngunit ngayon ang karamihan sa mga server ng Internet ay na-configure upang magamit ang SSI sa mga pahinang may extension na .html, na medyo maginhawa. Ang PHP ay isang ganap na naiibang kuwento - ang .php extension ay ang default na extension. Ang mga developer ng website, na alam nang maaga na ang isang partikular na programming language ay gagamitin, ay agad na nagtatalaga ng tamang extension.

Ngunit ano ang gagawin kapag nagtatapos ang lahat ng pahina sa extension na .html?

Palitan ang HTML extension ng PHP

Magagawa ito sa maraming paraan. Ang pinaka-halatang paraan ay upang bigyan ang lahat ng mga pahina ng .php extension o baguhin ang mga umiiral na extension (.html, .shtml, atbp.). Ang pamamaraang ito ay may mga disadvantages. Halimbawa, ang mga na-index na pahina na may extension na .html ay kailangang muling i-index ng mga search engine. O mas masahol pa, ang lahat ng mga panlabas na link na tahasang nagli-link sa isang partikular na pahina ay magiging di-wasto. At kailangan mong ipaalam sa mga may-ari ng bawat site ang tungkol sa mga pagbabagong ito at lumikha ng isa pang page na may 301 na mga error para sa bawat page. Siyempre, ang pagpapalit ng isang extension sa isa pa ay katanggap-tanggap, ngunit paano kung ang site ay mayroon nang maraming mga pahina at maraming mga link sa iba't ibang mga pahina mula sa iba pang mga site?

Para sa isang nakakamalay na dahilan, sa sandaling ito ang lahat ng mga pahina ng site na ito ay nagtatapos sa extension ng html, at hindi ko nais na gawin ang mga pagbabago sa itaas, sa gayon ay lumilikha ng hindi kinakailangang mga paghihirap para sa aking sarili.

Magagawa mo ito sa ibang paraan. Kung ang server na nagho-host ng site ay sumusuporta sa mod_rewrite (sa karamihan ng mga kaso ay ginagawa nito), at mayroong access sa .htaccess file, maaari mong idagdag ang mga sumusunod na linya sa mismong file na ito:

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

Sa pamamagitan ng pagdaragdag ng code na ito sa .htaccess , hindi mo kailangang mag-alala. Ang lahat ng hiniling na hindi umiiral na mga pahina na may extension na .html ay awtomatikong papalitan ng extension na .php salamat sa mga kamangha-manghang Apache. Ngunit ang pamamaraang ito ay hindi lamang isa. Maaari mong isulat ang sumusunod sa parehong .htaccess file:

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

Sa aking opinyon ang pinakamatagumpay na paraan. Ginagawa nitong katumbas ng mga pahina ng HTML ang mga pahina ng PHP, ibig sabihin ay magagamit na ngayon ang lahat ng mga function ng PHP sa mga pahinang may extension ng HTML. Kung wala kang access sa .htaccess file, maaari kang sumulat ng liham sa kumpanya ng pagho-host at magalang na hilingin sa mga admin na ilagay ang kinakailangang halaga para sa site sa configuration ng Apache (httpd.conf).

Sa pamamagitan ng paraan, kung bago ito ang site ay gumamit ng SSI tulad ng sumusunod:

pagkatapos ay sa bagong estado ng PHP ang code na ito ay kailangang mapalitan ng:

Well, iyon lang, sa palagay ko ay makakatulong ang isa sa mga pamamaraan sa itaas.