cypa
PHP кем нужно быть чтобы файл с данным доступа к БД запихнуть в каталог src/ ?
но в php-шной халабуде Xenforo сделано именно так
src/config.php
lurker
code PHP
есть эксперты? насколько безопасен код

<?php
$url = filter_var($_GET['url'], FILTER_SANITIZE_URL);
header('Location: ' . $url, true, 302);
exit;

ну там с точки зрения всунуть лишние заголовки, куки, не знаю.
Strephil
PHP Общался с чуваком лет на пять младше меня. Пока я пердолился в Arch Linux, он топтал зону за терроризм. Вышел пару лет назад, открыл в интернете статью: "Как стать программистом". Выучил php, и всё у него хорошо. На американцев работает сейчас.
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
Telegram PHP juick.com
этот цифровой сопротивленец до сих пор думает, что воюет с путиным, защищая дурова, но это не суть.
За последнюю неделю у меня штук 10 "нормисов" из телефонной книги резко решили подключиться к телеграму и мне пришла такая же смс как у Симонян 10 раз. Я думаю, что у Коли Дурова просто заглючил его пхп-сервер.
Rainbow-Spike
comicslate PHP но радость от введения скрипта, расширяющего картинки, в субботу здорово пропортилась одним социально важным сбоем.

у меня на дискорд-сервере есть отдельный канал для публикации текущих правок с сайта. раньше там клал правки бот 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 версия с бэкдором ... божественно.