Dmitriy_2014

Dmitriy_2014
Рейтинг
370
Регистрация
01.07.2014
Интересы
Веб-технологии
Lazy Badger #:
2. В связи с существующим полноценным уровнем поддержки в текущих версиях Хромого/Лиса/Сафари woff-шрифтов, хреноватеньким (если я не отстал от прогресса) woff2 и если нет требования поддерживать совместимость с дерьмом мамонта, то можно обойтись только  woff без подтягивания всего зоопарка eot|ttf|svg
А можно использовать ttf, который по умолчанию скачивается с Google Fonts, чем он плох?
Вроде бы отображается жирный и курсив Open Sans, хотя в свойстве font-face не заданы дополнительные наборы шрифтов типа: OpenSans-Bold.ttf, OpenSans-Italic.ttf, а используется только OpenSans-Regular.ttf, откуда тогда берется жирный и курсив?
lutskboy #:

запустите скрипт. сколько занимает времени поиск?

В среднем 0,260 сек., т.е. +/-260 миллисекунд, - php 7.4, используется обычная функция поиска шаблона в строке preg_match_all, грубо говоря ищется 16 разных слов. Я так понимаю это немного и не проблема, это разовая задача, нажал на кнопку посмотрел результат и забыл.
Devvver #:
Айболит не поможет? Там вроде искались подобные последовательности https://github.com/gregzem/aibolit/blob/master/src/ai-bolit.php

Жаль, что он 6 лет назад последний раз обновлялся и дальше не развивается. В этом скрипте есть переменная $g_CriticalEntries, я так понял это нежелательные критические вхождения, список так сказать не очень прикольных моментов кода если они вдруг появились в файлах вашей темы.

$g_CriticalEntries = '^\s*<\?php|^\s*<\?=|^#!/usr|^#!/bin|\beval|assert|base64_decode|\bsystem|create_function|\bexec|\bpopen|\bfwrite|\bfputs|file_get_|call_user_func|file_put_|\$_REQUEST|ob_start|\$_GET|\$_POST|\$_SERVER|\$_FILES|\bmove|\bcopy|\barray_|reg_replace|\bmysql_|\bchr|fsockopen|\$GLOBALS|sqliteCreateFunction';


Каширин #:

Да никак ты его не найдешь! Нельзя найти то, чего ты не знаешь. Мой совет: забей.

Хорошо, если вы искали когда-нибудь вирусы, шеллы или стремный чужой код у себя на сайте, какие ключевые слова или регулярные выражения вы использовали?
Каширин #:

Димон, друг, скажи. Зачем ты ищешь "подозрительный код" в плагинах?
Дрелью не хочешь себе зубы посверлить, чтобы поискать подозрение на кариес? ;)

Если у тебя все работает - не надо чинить. А если что-то сломалось - надо чинить то, что сломалось!
Чтобы ты понимал, результатом этого: 


будет "eval". Если кто-то написал в интернете, что это вредоносный код :)
то я напишу так: 


и результат будет тот же самый - "eval". Только ты этот вредоносный супер-код уже не найдешь.

Не в плагинах, а пока только в текущей теме, про эту фишку с разделением я в курсе, вот бы подсказал как такое найти.
Sly32 #:

что подозрительного в base64, oauth, md5? может стоит сначала ращобраться, потом ваять непонятно что? 😂

Так об этом говорят провайдеры, а у них я думаю есть небольшой опыт в этом деле.

FistVDS – одна из статей на эту тему, старенькая но как есть:

https://firstvds.ru/technology/poisk-virusov-na-sayte

Php/js код

Вручную вредоносный код можно искать по паттернам. Чаще всего, это либо закодированный в base_64 код, либо обфусцированный по определенному алгоритмому. Имеет смысл искать следующие, наиболее распространенные, паттерны:

FilesMan, try{document.body, String["fromCharCode"], auth_pass, fromCharCode, shell_exec, passthru, system, base64_decode, chmod, passwd, mkdir, eval(str_replace, eval(gzinflate, ="";function, "ev"+"al",md5=,ss+st.fromCharCode, e2aa4e

totamon #:
а ссылку на плагин?
Обязательно, в новом посте, мне нужна будет там помощь.

Спасибо за помощь, в общем я пофиксил все как смог, бюрократы WordPress съели.

Да если будете им что-то отправлять то вас могут ждать вот такие предъявы со стороны команды разработчиков и кураторов плагинов их репозитория:

## Tested Up To Value is Out of Date, Invalid, or Missing

The tested up to value in your plugin is not set to the current version of WordPress. This means your plugin will not show up in searches, as we require plugins to be compatible and documented as tested up to the most recent version of WordPress.

В целом при любых раскладах пишите в readme.txt что ваш плагин протестирован с последней текущей версией WordPress, если напишите хоть на пункт ниже будет отворот, поворот.

## Variables and options must be escaped when echo'd

Much related to sanitizing everything, all variables that are echoed need to be escaped when they're echoed, so it can't hijack users or (worse) admin screens. There are many esc_*() functions you can use to make sure you don't show people the wrong data, as well as some that will allow you to echo HTML safely.

Короче, почти весь вывод из подозрительных переменных или просто все если получится обрамить функцией esc_html, типо связано с возможными вопросами уязвимости а-ля XSS vulnerability, и попадании на вывод чет-то там кода html который типо как не желателен, я сам до конца не понял где это делать, а где нет, я заделал все что смог :)

## Generic function/class/define/namespace names

A good way to do this is with a prefix. For example, if your plugin is called "Easy Custom Post Types" then you could use names like these:

function ecpt_save_post()

define( ‘ECPT_LICENSE’, true );

class ECPT_Admin{}

namespace EasyCustomPostTypes;

Don't try to use two (2) or three (3) letter prefixes anymore. We host nearly 100-thousand plugins on WordPress.org alone. There are tens of thousands more outside our servers. Believe us, you’re going to run into conflicts.

Короче название ваших функций должно иметь обязательно префиксы из а-ля 4 символов или может быть можно использовать уникальные пространство имен, т.к. у меня две с половины функции я использовал префиксы перед названиями функций в 4 буковки. Связано это как я понял с тем что у них чет там миллион плагинов и могут быть конфликты в названиях или типа того.

Ну и да мой плагин приняли, как это не странно с моим не умением программирования и криворукостью, зовите меня теперь просто великий Архитектор и разработчик программного обеспечения Димитрий первый :-)

Извиняюсь за корявый текст, лень в Word’е нажимать Правописание и делать вид буд-то бы я знаю грамматику.
Всего: 2006