Здравейте и добре дошли в #root.bg!
Тук може да намерите статии и уроци за linux, мрежи и тяхната защита, игри и забавление, както и хобита – ролери, дронове и много други.
Тук може да намерите статии и уроци за linux, мрежи и тяхната защита, игри и забавление, както и хобита – ролери, дронове и много други.
Николай Николов Howto charset, mysql, mysql 8, wordpress 0
Здравейте,
Фен съм на новите технологии и много обичам ъпдейтите ;))
Поради тази причина от днес root.bg вече работи на MySQL 8!
В този пост ще споделя особенностите при пускането на версия 8 и какво е нужно да проработи нашия wordpress – особенно ако базата му е голяма, стара и с различни типове charset и collation-и. Да подчертая че мигрирах от MariaDB 10.2 и за целта си вдигнах нов MySQL сървър – не съм правил mysql_upgrade, а dump и restore на базата!
Повече подробности за новостите в MySQL 8 може да се намерят в официалния им сайт.
Това което е важно за wordpress специално е именно това :
latin1
to utf8mb4
. The utf8mb4
character set has several new collations, including utf8mb4_ja_0900_as_cs
, the first Japanese language-specific collation available for Unicode in MySQL. For more information, see Section 10.10.1, “Unicode Character Sets”.Или именно проблемът с който се сблъсках след като налях базата на root.bg на новия mysql сървър. Ето така изглеждаха всичките публикации написани на кирилица :
Причината за това е именно енкодинга в MySQL.
Този проблем може да се реши по два начина – чрез настройка в самия сървър или в конфигурационния файл на нашия wordpress.
Ето и двата начина:
character-set-server=latin1
За да направим проверка в mysql конзолата пишем :
SHOW VARIABLES LIKE 'character\_set\_%';
и трябва да видим следния резултат :
+--------------------------+---------+ | Variable_name | Value | +--------------------------+---------+ | character_set_client | utf8mb4 | | character_set_connection | utf8mb4 | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | utf8mb4 | | character_set_server | latin1 | | character_set_system | utf8 | +--------------------------+---------+ 7 rows in set (0.00 sec)
В wordpress:
В конфигурационният файл на wordpress – wp-config.php добавяме следния ред :
define('DB_CHARSET', 'latin1');
И така вече имаме работещ wordpress на MySQL 8!
ПС
root.bg живее върху :
ubuntu 18.04.1
nginx 1.14.0
php 7.2.11
mysql 8.0.13
memcached 1.5.6
Това е!
Николай Николов Howto mcrypt, php, php 7.2, whm 0
Здравейте,
От версия 7.1 mcrypt вече не се поддържа от разработчиците на PHP,
и съответно в 7.2 вече не може да се инсталира.
В този пост ще споделя как можем да инсталираме mcrypt на WHM сървър в php7.2.
Изпълняваме следните команди :
Инсталираме ако нямаме EPEL репо-то :
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Инсталираме необходимите библиотеки за mcrypt :
yum install libmcrypt yum install libmcrypt-devel
Инсталираме mcrypt чрез PECL :
/opt/cpanel/ea-php72/root/usr/bin/pecl install channel://pecl.php.net/mcrypt-1.0.1
Тестваме дали модула е успешно инсталиран :
/opt/cpanel/ea-php72/root/usr/bin/php -m|grep mcrypt
Това е!
Николай Николов Howto, Iphone/MacOS macos, специални символи, terminal 0
Привет,
В този пост ще споделя как можем да изключим специалните символи на нашият MacOS.
В таблицата по-долу са изброени тези символи, а за да използваме, просто задържаме определената буква или чрез комбинацията по-долу.
Accent | Key Strokes | Available Characters |
Grave ` | option ` + the character | À È Ì Ò Ù à è ì ò ù |
Acute ´ | option e + the character | Á É Í Ó Ú á é í ó ú |
Circumflex ^ | option i + the character | Â Ê Î Ô Û â ê î ô û |
Tilde ~ | option n + the character | Ã Ñ Õ ã ñ õ |
Umlaut ¨ | option u + the character | Ä Ë Ï Ö Ü Ÿ ä ë ï ö ü ÿ |
Key Stroke |
+Option | +Option- Shift |
Key Stroke |
+Option | +Option- Stroke |
A | å | Å | 0 | º | ‚ |
B | † | ¹ | 1 | ¡ | Ž |
C | ç | Ç | 2 | ™ | € |
D | | Î | 3 | £ | Ð |
E | ´ | 4 | ¢ | ð | |
F | ƒ | Ï | 5 | ƒ | Þ |
G | © | › | 6 | § | þ |
H | ™ | Ó | 7 | ¶ | ý |
I | ˆ | 8 | • | ° | |
J | | Ô | 9 | ª | · |
K | š | • | – | – en dash | — em dash |
L | ¬ | Ò | = | ‚ | ± |
M | µ | Â | [ | “ | ” |
O | ø | Ø | ] | ‘ | ’ |
P | ¼ | ½ | \ | ´ | ª |
Q | œ | Œ | ‘ | æ | Æ |
R | ® | ‰ | , | ¾ | ¯ |
S | ß | Í | . | „ | ˜ |
T | Ý | | ; | … | Ú |
U | ¨ | ` | ` | ||
V | ˆ | × | / | ÷ | ¿ |
W | … | „ | |||
X | ‰ | œ | |||
Y | ¥ | Á | |||
Z | ‡ | ¸ |
При писане в терминал или където и да е другаде в нашия MacOS нещата се случват някак по-бавно от колкото на linux десктоп например. Това се дължи точно заради тези специални символи.
Типичен пример е изтриването или местенето със стрелка напред или назад в някое IDE или терминал – става многооооо бавно!
За да оправим този проблем е нужно да напишем следните 3 реда в терминала ни, и след това да излезем от потребителя и влезем на ново (или да рестартираме mac-a)
defaults write NSGlobalDomain ApplePressAndHoldEnabled -bool false defaults write NSGlobalDomain KeyRepeat -int 1 defaults write NSGlobalDomain InitialKeyRepeat -int 12
Резултата е впечатляващ!! 🙂
Ако случайно искаме да върнем нещата по старо му – да имаме специални символи трябва да напишем в терминала и пак да излезем и влезем :
defaults write -g ApplePressAndHoldEnabled -bool true
Това е !
Николай Николов Howto CSP, firewall, header, nginx, security, xss 0
Здравейте,
В този пост ще споделя как можем да защитим сайта си ако използваме nginx за уеб сървър.
Воден от поста на Скот Хелме за CSP тръгнах да тествам CSP header-и на root.bg. Използвах неговия инструмент securityheaders.com и накрая постигнах желания резултат – A+ 🙂
Във виртуалния хост на сайта ни добавяме следните редове след location /
add_header Content-Security-Policy "block-all-mixed-content; frame-ancestors 'self' root.bg cdn.root.bg s.root.bg go.root.bg git.root.bg fonts.gstatic.com;"; add_header Content-Security-Policy-Report-Only "default-src https: data: 'unsafe-inline' 'unsafe-eval'; report-uri https://rootbg.report-uri.com/r/d/csp/reportOnly";
Направих си регистрация в сайта report-uri.com и така започнах да събирам информация от уеб сървъра ми за XSS атаки, грешки в конфигурацията на уеб сървъра, мониторинг и всичко останало свързано с новите уеб стандарти.
Аз лично малко съм се олял с добавянето на излишни header-и, но почти всички от тях са за защита 🙂
HTTP/2 200 date: Wed, 17 Oct 2018 07:13:17 GMT content-type: text/html; charset=UTF-8 vary: Accept-Encoding set-cookie: PHPSESSID=d2lar8sp9vq24752mip9lu31ls; path=/; secure; HttpOnly expires: Thu, 19 Nov 1981 08:52:00 GMT cache-control: no-store, no-cache, must-revalidate pragma: no-cache x-powered-by: 🐧 link: https://root.bg/wp-json/; rel="https://api.w.org/" link: https://go.root.bg/21; rel=shortlink server: rws strict-transport-security: max-age=31536000; includeSubDomains; preload x-cache: HIT x-xss-protection: 1; mode=block; report=https://rootbg.report-uri.com/r/d/xss/enforce x-frame-options: SAMEORIGIN x-content-type-options: nosniff p3p: Can I help you? Contact me via https://root.bg/contacts/, CP=CAO ADMa DEVa IND PHY ONL UNI COM LOC feature-policy: sync-xhr 'self' https://root.bg content-security-policy: block-all-mixed-content; frame-ancestors 'self' root.bg cdn.root.bg s.root.bg go.root.bg git.root.bg fonts.gstatic.com; content-security-policy-report-only: default-src https: data: 'unsafe-inline' 'unsafe-eval'; report-uri https://rootbg.report-uri.com/r/d/csp/reportOnly referrer-policy: no-referrer-when-downgrade expect-ct: enforce; max-age=86400; report-uri=https://rootbg.report-uri.com/r/d/ct/enforce x-app-server: gevi x-slogan: Respect is earned, not given!
Това е!