alex0b
PHP позвонила старая подруга, но не для переустановки винды, а то что у нее на wordpress баннеры левые в шапке и футере вылезли. Смотрю, получается ее сайтец похакали злые русские хакеры — при любом запросе на локальный для сайта js он подменяется на редирект на удаленный скрипт. И что все сделано нормально, два часа сидел не нашел где это. Что уже кончилось время, когда они в index.php дописывал говнокод?
den-po
PHP Haskell Обещали пиво и один из докладов про хаскель. Первое обещание выполнено, жду второго.
Виталя, чо фотка не с первого раза из веба цепляется?

vt
PHP PHP 8 also brings some nice new features such as the JIT compiler
Эээээ, а чем они занимались 8 версий для этого? Дыры в вордпрессе делали?
vt
PHP Telegram juick.com
этот цифровой сопротивленец до сих пор думает, что воюет с путиным, защищая дурова, но это не суть.
За последнюю неделю у меня штук 10 "нормисов" из телефонной книги резко решили подключиться к телеграму и мне пришла такая же смс как у Симонян 10 раз. Я думаю, что у Коли Дурова просто заглючил его пхп-сервер.
Rainbow-Spike
PHP comicslate но радость от введения скрипта, расширяющего картинки, в субботу здорово пропортилась одним социально важным сбоем.

у меня на дискорд-сервере есть отдельный канал для публикации текущих правок с сайта. раньше там клал правки бот Kitrobit, сидящий на сайтовом RSS-фиде, но его отзывчивость была так себе, гап составлял 5-8 минут.

продолжение эпопеи в комментариях
Rainbow-Spike
PHP есть один дурной плагин, в котором проверка идёт от текущей папки к корневой, в нём внутри while ( $path >= заданная длина ) есть в конце команда $path = substr ( $path, 0, strrpos ( $path, '/' ) );

а я хочу перевернуть пробежку по папкам местами, для чего надо $path в массив рассовать и потом его array_reverse(), но я не имею представления про распихивание в массивы ._.
Rainbow-Spike
PHP комикслейт рассказываю историю
1. капча test.comicslate.org вызывается со страницы test.comicslate.org

2. сразу же в переменную отбирается реферрер
$cap_back = $_SERVER['HTTP_REFERER']; // > "https://test.comicslate.org/eo/sci-fi/freefall/index"

3. пообкусав его со всех сторон, получаем папку языка
$cap_lang = substr (stristr ($cap_back, '.org/'), 5, 2); // > "eo"
возможностью добавления в будущем языка с кодом li пока пренебрегаем

4. на первом заходе язык не равен li, поэтому ставится по этому обкусу
$lng = ($cap_lang != 'li') ? $cap_lang ... // > "eo"
далее $lng злостно используется для формирования всех текстов

5. колечко самопроверки на сбережение начального реферрера
$cap_back = ($cap_lang != 'li') ? $cap_back ... // > "https://test.comicslate.org/eo/sci-fi/freefall/index"
при удачном прохождении капчи есть ссылочка на возврат к прежней странице, вот ей и важно сберечь начальный реферрер

6. далее html-форма, в которой вбиты два глухих поля с начальными данными языка и реферрера
<input name="lng" type="hidden" value="'.$lng.'"/>
<input name="ref" type="hidden" value="'.$cap_back.'"/>

7. так что на втором заходе обкус равен li, но берётся eo из формы
$lng = ($cap_lang != 'li') ? $cap_lang : $_POST['lng'];

8. та же фигня происходит с реферрером — сберегается test.comicslate.org
$cap_back = ($cap_lang != 'li') ? $cap_back : $_POST['ref'];

и сколько я не размышлял над этим механизмом, ни избавиться от явно избыточного <input name="lng" type="hidden" value="'.$lng.'"/> в форме, ни упростить обработку $cap_lang, $lng и $cap_back без ещё большего наслоения проверок не получается
Rainbow-Spike
PHP комикслейт прорывчик. долго не мог догадаться, как выдавать русскому — русский текст в отдельно стоящем скрипте, а иностранцу — иностранный. наконец допёр — реферрер! наконец можно привести этот обезьянник в порядок

практически это выглядит так:
вызовите матан-капчу из красной заметки со страницы test.comicslate.org — и в капче будет русский текст
а со страницы test.comicslate.org — будет английский. он дефолтный, фразы на эсперанто я пока на скрипт не надевал
архитектура предполагает, что доступ к 18+ зонам сайта добавляется тому, кто есть в списке акков, кто уже зареган. так что скорее всего, скрипт будет писать вам, что надо зарегаться и залогиниться
это не обязательно. у меня и так уже список акков до××я толстый...
vt
PHP головной мозг Кажется мы стали забывать об этом подвиде шизиков — secure.phabricator.com
you will need: ... a normal computer to install it on
You will need a computer
Strongly consider using a normal computer instead
you should not install Phabricator on these devices. Instead, install it on a normal computer
you will need an operating system on your normal computer which is not Windows
Mac OS X is an acceptable flavor of Linux.
Rainbow-Spike
PHP комикслейт я капитулирт
comicslate.org работает
comicslate.org не работает
разница в использовании дефиса в названии папки. а у меня семилетний сайт везде их применяет
в github.com уже весь helper.php обсмотрен, предполагаемые места вклинивания — 217 либо 253 строка
пробовал mb_array_slice в 217 с.
нашёл php.net и пробовал htmlentities и quotemeta в 253 с.
у меня кончились идеи
justonemore
PHP Установил Composer (https://getcomposer.org/download/). Оно затёрло переменную PATH и теперь там только C:\Users\User\AppData\Roaming\Composer\vendor\bin. Ну и никакого экзешника для Composer`а нету.
Rainbow-Spike
копипаста request PHP dokuwiki комикслейт у меня опять пц. поставил плагин translation чтоб многоязычность сделать... часть переменных для названий на английском (например) берётся из движковой библиотеки, часть из шаблоновой, с этим я справлюсь. но вот со ссылками жопа

на странице comicslate.org три строки меню
в первой строке вызывается wl($ID,'do=admin') текущая страница,поверх неё вызов админки и плагин корректно цепляет текущий язык перед $ID-страницей в виде кусочка адреса "/en"
в третьей строке тоже всё хорошо, вызывается текущая страница (wl($ID,'do=index'),$lang['btn_index']) == путь: текущая страница+вызов индекса, имя: из язык-переменной и плагин срабатывает снова
а вот во второй строке проблема. вызывается ('/start',tpl_getLang('start'),'_self') == путь: стартовая страница, имя: из шаблон-язык-переменной, таргет ссылки: на себя. ссылки от текущей страницы не зависят и плагин их не обрабатывает

dokuwiki.org заявляет, что есть алиасы @LANG@ (язык по умолчанию в вики = ru) и @TRANS@ (текущий язык страницы = en), но разумеется, на момент сборки в PHP этот транс бесполезен. залез в action.php плагина, есть строка обработки аалиаса $event->data['tpl'] = str_replace('@TRANS@', $this->helper->getLangPart($ID), $event->data['tpl']);
и вот этот $this->helper->getLangPart($ID) тож бесполезен, во всех кусках я его перебрал, и $ID на /start заменял...

что забавно, если перед '/start' вставить '@TRANS@'., то адрес меняется со /start на en@TRANS@/start но любые попытки почистить строку после получения сего через str_replace либо explode натыкаются на стену непонимания, функцией echo возвращается только /start прежний. это, блин, алхимия какая-то, логика здесь не работает... или я какую-то тонкость не понял
justonemore
PHP программирование freelance стратегия с развитием персонажей. Оснавная нагрузка на пвп битвы между игроками. Но для разнообразия также в игру нужно будет ввести монстров (ботов) и всякие квесты что-бы небыло однообразия.
2000 ₴ каждый месяц.
stanislavv
работа лытдыбр PHP Пересобирал пакеты пхп под новый проект.
Выяснилось, что опция --with-mysql-sock=, что должна задавать дефолтный сокет мускля, никак не работает с mysqlnd.
Таки думал обойтись без патчей...
segfault
PHP enterprice opennet.ru
Обновление запрашивалось с внешней страницы simplywordpress.net с который загружался ZIP-архив с бэкдором. В ZIP-архиве размещалась текущая актуальная версия Captcha, отличающаяся от варианта из каталога WordPress.org наличием файла plugin-update.php с бэкдором, через котоорый любой сторонний злоумышленник получал возможность доступа к сайту с правами администратора (ID 1). Обновление также отличалось заменой имени обновления с captcha_pro_update.php на captcha_free_update.php, при загрузке которого выдавался ZIP-архив без бэкдора.
PRO версия с бэкдором ... божественно.
justonemore
PHP программирование Кем надо быть чтобы писать документацию («Руководство по передаче данных со сторонних сайтов в систему Tallanto») для своей CRM в docx файле да ещё и с текстом скрипта который предполагается скопировать.
justonemore
PHP программирование ненависть JavaScript WWW Недавно стрельнула мысль что Web это по большей части полиграфия и что оно уменьшило сакральность нашей жизни (из–за низведения это самой полиграфии к подобию постоянно обновляющейся ленты с однотипной вёрсткой). WWW это некий каталог (поддерживаймый со всех сторон костылями) интерактивных журналов, рекламных буклетов, каталогов с товарами; каталогов с видео и аудио; почти что бесплатная рекламная площадка для тех кто желает заявить о себе. Народ пытается заработать на показе рекламы, наёбе населения и продаже чего–нибудь. Если раньше всё это говно было во врезках на страницах журналов и газет, то теперь оно прямо в наших ЭОМ и усердно грузит ЦП и кушает електричество. Типичный сайт это серверный скрипт с функциоанльностью инфузории и адок технологий каменного века ИТ на стороне клиента. Не зря большая часть работы по созданию сайтов занимает вёрстка и создание красивостей а PHP это в основном системы управления содержимым. Типичный выход в WWW типичного пользователя WWW это как поход в библиотеку, газетный киоск. Хотя, скорее всего, для большинства нынешних пользователей всё свелось к YouTube заменившему жвачку по телевизору, просмотру кинопродукции, Вкундахту и какому–нибудь viber. Выпусти более–менее популярные сайты типа Вкундахта программы для Окон, все бы только спасибо сказали. Идиоты тратят свою ничкчёмную жизнь активно создавая корпоративную (и не только) хуиту используя вэбную парашу вместо более вменяемых средств типа .NET (которое скорее всего и создавалось с прицелом на эту самую корпоративную хуиту).