Хакнатият уебсайт трябва да е уникален #1 - WordPress, български BuddyPress
Едно лято се ровех наоколо, без да помня къде, и по някое време бях посетен от тъгата от осъзнаването на всеобхватното сходство на всичко в света по един или друг начин.
Компилирах за вас стандартните кодови редове на WordPress и BuddyPress, с помощта на които можете да промените поведението / външния вид на кода на вашия сайт до неузнаваемост. И така, част 1, която ще ни разкаже за WordPress...
Всичко по-долу трябва да бъде вмъкнато във файла /wp-config.php в основата на сайта.
Увеличаване на паметта, разпределена за изпълнение на php скриптове до 64 Mb. По подразбиране имаме 32 за нормална инсталация на WP, 64 за многосайтова.
Промяна на пътищата на папките
define('WP_CONTENT_DIR', ABSPATH. 'съдържание');
define( 'WP_CONTENT_URL', get_option('siteurl'). '/съдържание');
С този код ще промените пътя и URL адреса на папката /wp-content/ в корена на сайта на /content/. Удобно, ако искате да скриете, че използвате WordPress (но това не е единствената стъпка към „скриването“). Това трябва да се направи заедно с предишния код.
define( 'WP_PLUGIN_DIR', WP_CONTENT_DIR . '/components' );
define( 'WP_PLUGIN_URL', WP_CONTENT_URL . '/components' );
С този код ще промените пътя и URL адреса на папката /plugins/ в папката WP_CONTENT_DIR на /components/. Полезно, ако искате да скриете, че използвате WordPress.Предупреждение : Това може да доведе до неизправност на някои приставки, които не използват глобални променливи на WordPress за указване на файлови пътища, а „твърдо кодирани пътища“. Ще трябва да се разровите малко, за да проверите всичко.
define('WPMU_PLUGIN_DIR', WP_CONTENT_DIR. '/modules');
define( 'WPMU_PLUGIN_URL', WP_CONTENT_URL . '/modules' );
С този код ще промените пътя и URL адреса на папката /mu-plugins/ наПапка WP_CONTENT_DIR в /modules/. Полезно, ако искате да скриете, че използвате WordPress.Предупреждение : Това може да доведе до неизправност на някои приставки, които не използват глобални променливи на WordPress за указване на файлови пътища, а „твърдо кодирани пътища“. Ще трябва да се разровите малко, за да проверите всичко.
Папката /wp-admin/ не може да бъде преименувана, защото вътре в някои файлове тази папка е свързана директно в кода, без използването на глобални променливи (тези са толкова лоши разработчици). Как да защитим тази папка (един от методите), както и папката /wp-includes/, ще напиша в някоя от следващите публикации.
Разни глобални
define( 'WP_DEFAULT_THEME', 'twentyten' );
Тук можете да посочите шаблон, който ще се активира, ако:
- Имаше проблем с текущия ви шаблон и системата се опитва да се върне назад, така че лицето на сайта да не се срине.
- Създаден нов блог в режим WordPress MultiSite. На този нов блог автоматично се присвоява този шаблон.
Вместо думата twentyten, въведетеимето на папката на вашата тема в папката /themes/.
define('WP_LANG_DIR', WP_CONTENT_DIR. '/langs');
Можете също да промените местоположението на папката за превод на WordPress. По подразбиране е /wp-content/languages/, току-що направихме /content/langs/.
Защита от бисквитки
define('USER_COOKIE', 'siteuser_' . COOKIEHASH);
define('PASS_COOKIE', 'sitepass_' . COOKIEHASH);
define('AUTH_COOKIE', 'site_' . COOKIEHASH);
define('SECURE_AUTH_COOKIE', 'site_sec_'. COOKIEHASH);
define('LOGGED_IN_COOKIE', 'site_logged_in_' . COOKIEHASH);
Използването на wordpress в името на бисквитката просто крещи за двигателя. Затова го промених на „сайт“ и вие можете да го промените навашата собствена дума (например за име на домейн, само без никакви символи - само думата на домейна на латиница, без точки и тирета).
Опции за публикации в сайта
define( 'AUTOSAVE_INTERVAL', 60 );
Можете да промените настройката за автоматично запазване на времето за запис, когато пишете. По подразбиране е на всеки 60 секунди. Ако някой има нужда, можете да зададете по-голяма / по-малка стойност.
define('EMPTY_TRASH_DAYS', 30);
Показва колко дни папката Кошче ще бъде изпразнена на страницата със списък с публикации в административния панел. Честно казано изобщо не ползвам количката. В този случай можете да зададете стойността на 1.
Този код щедеактивира създаването на редакции на публикация. Ревизиите са копия на вашите публикации, които се създават, докато редактирате и докато пишете. Присъствието им в базата данни я раздува много, затова предпочитам да ги изключа. Препоръчително е да го деактивирате, ако имате много стотици записи на сайта.
Информация за отстраняване на грешки и корекции на грешки
define('WP_DEBUG', true);
Написах повече за това в публикацията: Режим за отстраняване на грешки за показване на грешки в сайта.
Този ред ще започне да регистрира всички грешки на WordPress във файла /wp-content/debug.log, но няма да ги изведе. Работи в тандем с предишния код. Ако след записването на тези два параметъра файлът debug.log не се появи, създайте го ръчно, празен и с възможност за запис.
Променливи само за WordPress MultiSite
Това трябва да бъде записано в някакъв файл, но не и в wp-config.php. В противен случай променливата $wpdb няма да работи. Само за напреднали потребители с богат опит с WordPress!
define( 'UPLOADBLOGSDIR', WP_CONTENT_DIR. '/net.files');
Променете папката, в която ще се качват файловете на всичките ви блогове. По подразбиране се зарежда в /wp-content/blogs.dir и го променихме на /content/net.files. Ако сте променили този параметър, определено трябва да промените този по-долу:
глобален $wpdb; define( 'BLOGUPLOADDIR', UPLOADBLOGSDIR . "/blogid>/files/" );
Този код трябва да бъде написан, ако сте променили UPLOADBLOGSDIR, в противен случай качването на файлове в блогове няма да работи.
Следващата публикация ще прегледа съответните глобални променливи на самия BuddyPress.
- Коментари 33
- Обратни пингове 0
Уникалност .. това най-вероятно е използването на двигателя - не WordPress))))
Е, защо не, не е задължително :) WP е достатъчно гъвкав, за да можете да му се подигравате до насита.
Цялата тази уникалност ще изчезне по време на актуализации и отново на нова ...
Естествено ще е необходима ръчна актуализация. Това е първо. И второ, нищо няма да излети :)
И кажете ми, възможно ли е да премахнете бисквитката от url /членове/?
Съжалявам, намерих го на вашия сайт.
Но как да създадете шаблон за блог за всеки потребител в случай на използване на мулти-сайт?
В смисъл под всеки потребител? Така че в зависимост от потребителя се избира различен шаблон за неговия блог? Или какво имаш предвид?
може би греша разбира се .. така че стиловете да се зареждат за всеки потребител собствени - WP Skin (така)
на моя SL дизайнът на личната му страница се променя от статуса на потребителя
Има и плъгин от BuddyDev - не помня точно как се казва. Там можете да промените фона на собствената си страница.
вашият плъгин работи ли в новата версия? опитахте ли вече?
Много бих искал да знам какъв хак / филтър за смяна на папката с теми (теми). Също така е интересно да се знае за защитата на папките wp-admin (вече видях един от menthomes във вашите публикации) и wp-includes.
Промяна на папка с теми: register_theme_directory($path) , където $path е абсолютният път до папката, в която искате да поставите вашите теми.
wp-admin - вече видях (+ можете да гугълнете). wp-includes - няма начин. Не можете да преименувате тази папка. Стандартна променлива WPINC - също. На много места този път е директно зашит - част от функционалността ще се повреди, ако се промени.
Благодаря ви много за отговора. Wp-includes не е кой знае какъв проблем. Ще се опитам да „затворя“ директните повиквания към тази папка навсякъде (за същата библиотека jQuery и подобни файлове от страниците на сайта), като прехвърля всички тези файлове на мястото, от което се нуждая. Опитвам се да скрия използването на WordPress възможно най-много. Целта на подобни манипулации е да се докаже на клиента, използвайки примера на неговия сайт, че работата на сайта (стабилност и скорост) не зависи много от избора на система, основното е, че е удобно да се управлява съдържанието.
И как криенето е свързано със стабилността и скоростта?
Всъщност връзка от техническа страна няма. Но клиентът основно не иска да използва WordPress и причината за това е ниската скорост на работа и други (често пресилени) системни проблеми. Показах му няколко сайта на VP, които работят умно и имат нормален трафик, но щом види, че VP се използва (гледа го в кода на страницата), веднага има „проблеми“. Затова искам да направя така, че в 99% от случаите потребителят да не може да разбере коя система се използва на сайта.
Разбирам, благодаря. Предразсъдъците си заслужават победата :)
Моля, обяснете на неграмотния начинаещ как става това и къде, с промяна на пътя на папката с темата ... Иначе смених името. папка wp-content към друга в началния етап на инсталиране на WP и сега има проблем с производителността на темата, има подозрения, че порадипромени в папката wp-content. Моля, обяснете ми за промяната на пътя на папката на темата.
Не виждам смисъл в това. В тази статия не беше казано нищо за промяна на папката /wp-content/ - само папката за качване. По принцип някои добавки ще се повредят, ако премахнете /wp-content/. /wp-admin/ и /wp-includes/ не могат да бъдат преместени... Така че не можете да го скриете напълно. IMHO това е загуба на време.
Ако имате нужда да скриете факта, че сайтът е направен на VP, тогава може би е по-добре да го направите на различен двигател? По времето на WP 2 ние направихме сайт на нашия собствен двигател, но с всички атрибути на WP дори оставихме фалшиви дупки. Беше забавно да го гледам как се счупи.
Уау, това е интересно. Искате ли да напишете публикация за това (можете също да я напишете тук, директно на компактдиска, като публикация за гости)? Как са писали, какво са оставили, как са го счупили?
Беше много отдавна и не помня всичко. В онези дни имахме няколко клиента на WordPress. Тогава все още имаше много дупки в него и имаше инструкции в интернет, както да се счупи, така и как да се закърпи. Клиентите бяха постоянно хакнати и ние им помагахме да върнат всичко, да го оправят, да го закърпят, за да не го счупят. Естествено, за тази допълнителна услуга те взеха малко пари. И тогава клиентът се премести на версия още една на третия знак след десетичната запетая и всичко се повтори. Накратко, по това време вече познавахме този двигател и неговите болни точки доста добре.
„за най-новите версии на WP и BP - най-вероятно ограниченията на паметта трябва да бъдат разширени не до 64, а до 128))) + променете пътищата на папките ... ако това не е абсолютно необходимо - по-добре е да не променяте)
64 е удебелено. След няколко експеримента имам ограничение на паметта от 52 MB. Това е напълно достатъчно за vp + bp с куп клиенти.
при използване на APC, XCache - изглежда да, но за компилиране - трябва повече
Ниеекспериментиране с ресурси за затягане. APC, XCache изобщо не е (ще е необходимо кеширане, ще инсталираме ngnix). VPS за нашата компилация има 40% CPU ядро, увеличен суап. Ограничение за качване на файл 4Mb. Имаше проблеми с това - големи файлове с изображения не бяха обработени, нямаше достатъчно ресурси при ограничението от 50 Mb за процеса. Направихме 52MB - всичко започна да се обработва нормално. морал - ако затиснете процесора, тогава не можете да компенсирате това с никаква памет, той ще се забави.
Благодаря ви, информацията ми беше полезна, въпреки че дойдох тук да търся друга - възникна някакъв проблем в самия двигател и връзките към скриптове и стилове от плъгини започнаха да включват пътя на сървъра към тях ... По същата тема - част от горното се прави от плъгина Better WP Security и нещо стана новина за мен и по пътя за решаване на проблема използвах вашия съвет. Благодаря отново.
Но когато регистрирах всички настройки в wp-config.php, по някаква причина пътищата не бяха преименувани за мен .. Каква е причината, моля, кажете ми. Ето копие от написаното от мен. define('WP_MEMORY_LIMIT','64M'); define('WP_CONTENT_DIR', ABSPATH'content'); define('WP_CONTENT_URL',get_option('siteurl').'/content'); define('WPMU_PLUGIN_DIR',WP_CONTENT_DIR.'/modules'); define('WPMU_PLUGIN_URL',WP_CONTENT_URL.'/modules'); define('USER_COOKIE','siteuser_'.COOKIEHASH); define('PASS_COOKIE','sitepass_'.COOKIEHASH); define('AUTH_COOKIE','site_'.COOKIEHASH); define('SECURE_AUTH_COOKIE','site_'.COOKIEHASH); define('LOGGED_IN_COOKIE','site_logged_in_'.COOKIEHASH); define('TEST_COOKIE','site_test_cookie'); define('WP_DEBUG',true); define('WP_DEBUG_LOG',true);
И след като напиша тези настройки в конфигурацията, вместо сайта, бял фон. Оооооооооооо.
Липсваща точка. И тозинаписана след дефиницията на променливата ABSPATH? Ако не, променете на dirname(__FILE__)
А преименувахте ли папките според новата структура?
get_option('siteurl') може да не работи с този файл. След това 'http://'.$_SERVER['SERVER_NAME']
И като цяло, погледнете error_log на вашия сайт или сървър (в зависимост от настройките на сървъра). Има всички грешки, лесно се коригират.