1.1, Аноним (1), 14:07, 20/02/2019 [ответить] [﹢﹢﹢] [ · · · ]
| –5 +/– |
[q]изменить любой файл в файловой системе, насколько это позволяют права доступа, под которыми выполняется WordPress[/q]
бред, никто под рутами не запустит WP
| |
|
2.2, Аноним (2), 14:17, 20/02/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
про рута никто и не говорит, речь про пользователя под которым выполняется WordPress.
| |
2.5, Аноним (5), 14:26, 20/02/2019 [^] [^^] [^^^] [ответить]
| +10 +/– |
Для того чтобы майнить, спамить и DDoS-ить root не нужен.
| |
|
3.9, Vee Nee (?), 14:59, 20/02/2019 [^] [^^] [^^^] [ответить]
| +/– |
Плюсую. А повышение привилегий взбодрит получше кофе (да да, сложнее, никому неизвестным бложикам не угрожает).
| |
|
4.20, нах (?), 16:40, 20/02/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
а зачем их повышать? На более менее крупном сайте на wp нет ничего ценного вне этого wp - зачем тебе рут, систему переставить и пермишны потюнить собрался? ;-)
| |
|
5.52, MINIX (?), 10:35, 21/02/2019 [^] [^^] [^^^] [ответить]
| +/– |
Ну, тут схема такая ... => ROOT => Выйти из гостя => ROOT на госте и перехват аутентификационных данных...
| |
|
|
|
2.15, Аноним Анонимович (?), 15:45, 20/02/2019 [^] [^^] [^^^] [ответить]
| +/– |
Вы недооцениваете кретинизм людей.
За 2018 год - встречал два проекта, где все скрипты домена выполняются под root. И прямо сейчас - переношу сайт на новый сервер, на старом он так же работал под root. Прям мечта мамкиного кулхацкера.
| |
|
3.22, Аноним (22), 16:53, 20/02/2019 [^] [^^] [^^^] [ответить]
| +/– |
щас же модно контейнеры, зачем думать обезопасности, каких-то привелегиях, пользователях?
(типа сарказм)
| |
|
4.40, Аноним (40), 00:00, 21/02/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
А ведь некоторые сторонники контейнеризации всего и вся примерно так и рассуждают, что, мол, запущенный в контейнере софт изолирован от основной системы и потому с пользователями во "внутриконтейнерной" системе можно не заморачиваться.
| |
|
5.63, нах (?), 12:03, 21/02/2019 [^] [^^] [^^^] [ответить]
| +/– |
а кто хоть раз заморочился - просто делает вид, что так рассуждает - потому что на самом деле ну его нахрен.
| |
|
|
|
2.39, пп (?), 23:36, 20/02/2019 [^] [^^] [^^^] [ответить]
| +/– |
Дык и эксплоидов для ядра вагон, каждый месяц выходит по штуке только на этом сайте (считай официально).
| |
|
1.3, Аноним (3), 14:19, 20/02/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
При корректной установке прав на каталоги все перечисленное не имеет места. Заметил, что большинство описаний "ошибок" начинается, грубо говоря, с "введем в консоли sudo bash ...".
| |
|
2.4, Аноним (2), 14:23, 20/02/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
> При корректной установке прав на каталоги все перечисленное не имеет места. Заметил,
> что большинство описаний "ошибок" начинается, грубо говоря, с "введем в консоли
> sudo bash ...".
Права доступа на каталоги вас не спасут, так как вместо одного доступного на запись для wordppress каталога осуществляется сохранение файла в другой доступный на запись каталог. Каталог с темами по умолчанию открыт на запись для wordpress для сохранения и обновления тем оформления из web-интерфейса. Убрав с него запись - получите невозможность обновить темы и останетесь с неисправленными уязвимостями.
| |
|
3.14, mickvav (?), 15:41, 20/02/2019 [^] [^^] [^^^] [ответить]
| +/– |
В чем проблема открывать директории на запись на время обновления и закрывать после?
Ой, нужно два скрипта написать, ужас-то-какой...
| |
|
4.23, нах (?), 16:56, 20/02/2019 [^] [^^] [^^^] [ответить] | +/– | в том что обновление автоматическое, а не юзер руками распаковывает tar gz как в... большой текст свёрнут, показать | |
|
3.43, KonstantinB (ok), 01:57, 21/02/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
Одни права доступа - нет, не спасут.
Надо завести два разных uid. Один для php-кода, второй - для пользовательских данных (uploads и т.п.). PHP при этом исполняется от второго uid, файлы, которыми владеет первый uid доступны только на чтение. При этом для всех директорий второго uid запрещается исполнение php-кода.
Да, обновляться мышкой в админке не получится - но это и хорошо: возможность PHP-скриптам гадить в себя - это само по себе большая дыра. Обновить всегда можно вручную. В крайнем случае можно обновлять закрытую от внешнего мира копию wordpress, которой разрешено гадить в себя, и синхронизировать файлы.
| |
|
4.53, пох (?), 10:43, 21/02/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Обновить всегда можно вручную.
вперед. Все писят хостов, в течении часа чтоб обновил, об исполнении доложить - через нас уже кого-то спамят через очередную дырку в мэйлвраппере.
Кстати, не советую копаться - этот час мы вычтем из твоей зарплаты, потому что вместо обслуживания серверов ты занимаешься тем, что до твоей прекрасной безопастной идеи делали обезьянки за вдесятеро меньшую.
А, да - если после обновления отвалится ставшая несовместимой темка - это ты будешь теперь разбираться, почему и как вернуть как было. Ты ж "все сломал", не пхп-кодер, как прошлый раз было.
| |
|
5.66, Аноним (66), 12:13, 21/02/2019 [^] [^^] [^^^] [ответить]
| +/– |
Расслабьтесь, человек предложил грамотное решение. Для кого оно актуально, те воспользуются. Для кого важнее чтоб было дёшево, вот как для вас, будут сидеть с дырами. Всех всё устраивает. Чего вы кипятитесь-то?
| |
|
6.72, пох (?), 18:29, 21/02/2019 [^] [^^] [^^^] [ответить]
| +/– |
человек предложил безграмотное решение, не понимая как обычно используется вротпресс - и кем.
Оно реализуемо - на его локалхосте. К сожалению, как раз на локалхосте вротпресс обычно действительно не нужен - можно обойтись и статикой, и статикой разбавленной парочкой самописных (SbO) скриптов.
А для тех кто трахается за деньги - увы, малореально.
| |
|
|
|
|
2.7, Аноним (7), 14:51, 20/02/2019 [^] [^^] [^^^] [ответить]
| +/– |
при "стандартной, по инструкции, установке WP"
при использовании apache не в itk-mode
при использовании без php-fpm на сервере где есть что-то кроме wp
и т.д....
| |
|
|
2.17, Аноним (17), 16:16, 20/02/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
В WordPress есть одна большая уязвимость: шаблонизатор "Personal Home Page", по недоразумению использующийся вместо языка программирования.
| |
|
|
4.19, нах (?), 16:38, 20/02/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
особенно забавно, что следом за пехепе идет asp.net ;-)
Я, честно говоря, удивлен.
| |
|
5.30, Qwerty (??), 20:49, 20/02/2019 [^] [^^] [^^^] [ответить]
| +/– |
А чего удивительного? Удобная и приятная в использовании штука.Не всё то плохо, что исчадие проприетарного ада.
| |
5.31, Онаним (?), 20:53, 20/02/2019 [^] [^^] [^^^] [ответить]
| +/– |
Ну в общем не странно - "классика": .NET и Java - делают сколь-либо серьёзную долю за счёт тормознющих монструозных CRM корпорастов, которые готовы взять в 10 раз больше железа, нежели добавить технологию - это дешевле.
Ну а далее жавы совсем мрак. Рельсы ещё как-то вытягивают 2.4%, и далее уже статика :D
Всё остальное недоразумение - как уже писал - на уровне погрешности.
| |
|
6.54, нах (?), 10:45, 21/02/2019 [^] [^^] [^^^] [ответить]
| +/– |
ну я и ждал жабу, а asp где-нибудь на уровне шума рельсов (на рельсе я тебе за час трех студентов найму, а для жабы да чтоб еще работало - и за месяц не найдешь хоть одного вменяемого).
Понятно, когда он ломается, меня не позовут, поэтому, видимо, для меня картина мира сильно искажена в пользу земноводных.
| |
|
|
|
|
2.32, Аноним (32), 21:18, 20/02/2019 [^] [^^] [^^^] [ответить]
| –2 +/– |
В WordPress есть одна большая уязвимость: php (fixed, не благодарите)
| |
|
1.11, Аноним3 (?), 15:26, 20/02/2019 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
почему надо писать о нем. это даже не новость. то что в нем постоянные баги знают все. какая бы версия не была она всегда написана корявыми руками и с кучей дыр. там наверно школота балуется, а его все тащат)))
| |
1.21, YetAnotherOnanym (ok), 16:47, 20/02/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> особый подбор значений пикселей, который после обработки в GD образует PHP-код
Ээээ.. а зачем вообще такой функционал - декодить картинку в код? Кто-нибудь может подсказать вменяемый юзкейс для такого?
| |
|
2.24, нах (?), 16:58, 20/02/2019 [^] [^^] [^^^] [ответить]
| +/– |
"если ваш язычок не позволяет одним изящным движением выполнить картинку (или ее exif) как код - зачем тогда он вообще нужен такой ограниченный и неэффективный?" (c)разработчики пехепе
| |
2.79, Vitaliy Blats (?), 12:56, 22/02/2019 [^] [^^] [^^^] [ответить]
| +/– |
> Ээээ.. а зачем вообще такой функционал - декодить картинку в код? Кто-нибудь может подсказать вменяемый юзкейс для такого?
О, я тебе подскажу целых три юзкейса.
Ну, в чем смысл ты понимаешь, да? У тебя в каталоге ./uploads/ лежит безобидный файлик favicon.ico, на который всем насpать, пушо это картинка. А потом в дырявом файлике темы functions.php у тебя лежит строчка @include('./uploads/favicon.ico'); или более хитропопые варианты как через GD: eval(gunzip(gd_бла_бла_бла('./uploads/favicon.ico')))
А потом:
1. Твой Hetzner тебя банит за то что твой VPS создает слишком жирную активность криптомайнером. Ты теряешь бабло на засуспенженом хостинге, а кто-то получает бабло на намайненной крипте за твой счет;
2. Твой Hetzner тебя банит за то что с твоего IP было отправлено 50000 enlargeyourpenisoв за последние 24 часа. Ты теряешь бабло на забаненном хостинге, а кому-то заплатили по 10 центов за каждый отправленный email;
3. Твой Hetzner тебя банит за то что с твоего IP был отправлен миллион ICMP-пакетов нестандартной длины кому-то на аплинк. Ты как обычно теряешь бабло, а кто-то получает 10 косарей бакинских за час DDOS'а, используя зомбей вроде твоего Вордпресса.
После чего тебе дают рекавери (пушо сеть уже отключена) и ты анализируешь файл за файлом, все несколько тысяч PHP-гогнокода в поисках малваря, но не находишь его, а поискать в картинках у тебя не хватит догадливости. Вот тебе юзкейс.
| |
|
1.27, Аноним (27), 17:49, 20/02/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Эх, с ностальгией вспоминаю времена конца php4 - начала php5, когда верили, что с удалением register_globals и магических кавычек пхп уж точно станет безопасным, когда чтобы подключить модуль, не нужны были эти непонятные менеджеры и подгрузчики,достаточно было написать require_once…
| |
1.28, th3m3 (ok), 18:00, 20/02/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
В большинстве случаев, бложик или информационный сайт - можно запилить на генераторе статики. Например - Hugo, Hexo, Jekyll и т.д. Будет точно такой же сайт, что и на Wordpress, только будет работать шустро(летать как ракета, после wordpress), будет подключаться меньше скриптов на страницу, а можно и без них обойтись. И никаких уязвимостей и тормозов этого монстра wordpress, никаких говноплагинов и т.д. Это как с винды на GNU/Linux пересесть.
| |
|
2.29, пох (?), 20:25, 20/02/2019 [^] [^^] [^^^] [ответить]
| –6 +/– |
"Будет точно такой же сайт, что и на Wordpress, только будет работать шустро(летать как ракета, после wordpress)"
и выглядеть будет - как г-но.
поправил, не благодари.
И да, если у тебя "вордпресс тормозит" - тебя надо уволить и нанять админа.
он, конечно, может подтормаживать - но для этого надо таки написать на нем нифига не статический сайт, и при этом вовсе не состоящий из одной странички.
"тормозит" обычно отрисовка, а она у вротпрессы как раз не особо-то и навороченая, если модулями-украшалками не увлекаться сверх меры.
| |
|
3.33, th3m3 (ok), 21:23, 20/02/2019 [^] [^^] [^^^] [ответить]
| +5 +/– |
>и выглядеть будет - как г-но.
Ты вообще отличаешь фронтенд от бекенда? Можно перенести сайт с Wordpress, например на Hugo и сохранить внешний вид, а так же все ссылки. Но лучше сделать нормальный новый дизайн, т.к. видел я эти говношаблоны на Wordpress, когда подключают +100500 библиотек и скриптов, чтобы сделать мобильное меню или ещё какую ерунду, которую можно даже на голом css сделать или ванильном js.
>И да, если у тебя "вордпресс тормозит" - тебя надо уволить и нанять админа.
Может тебя надо уволить за профнепригодность? Да он из коробки, даже в админке может еле шевелиться. Как и всё остальное УГ, которое на php написано. Я уже привык к быстрым системам на других более адекватных языках и когда мне подсовывают это дерьмо, под названием wordpress - в первую очередь, уговариваем клиентов уйти с этого УГ. Почти все соглашаются, если у них нет php-головного мозга. В итоге - клиенты довольны, теперь их сайты быстры как никогда, ничего не тормозит и никто не взломает сайт через ущербный wordpress или какой ещё чудо говноплагин.
Если ты кроме wordpress и php - ничего не видел, может он для тебя и быстрый, хороший и отличный. Но не все же пользуются дерьмом.
| |
|
4.38, Аноним (66), 22:55, 20/02/2019 [^] [^^] [^^^] [ответить]
| +/– |
> уговариваем клиентов уйти с этого УГ
На что уводите, если не секрет?
| |
|
|
6.45, iCat (ok), 05:52, 21/02/2019 [^] [^^] [^^^] [ответить]
| +1 +/– |
А можно взглянуть на практические реализации сайтов на HUGO?
| |
|
|
|
9.75, Онаним (?), 20:54, 21/02/2019 [^] [^^] [^^^] [ответить] | +2 +/– | Ну он же написал - уговаривают клиентов Но клиенты - не идиоты, они не соглашаю... текст свёрнут, показать | |
|
|
|
|
|
4.55, нах (?), 10:54, 21/02/2019 [^] [^^] [^^^] [ответить]
| –3 +/– |
> Можно перенести сайт с Wordpress, например на Hugo и сохранить внешний вид, а так же все ссылки.
только работать ничего не будет, поскольку сайт на вротпрессе в лучшем случае - обновлялся пользователем, а в худшем содержал комьюнити-кусок, от гостевой в темном углу до вполне серьезного обмена инфой.
Иначе бы он был не на вротпрессе а на чем побыстрее.
то есть это не "перенести", а массогабаритный макет, лишенный основного функционала.
Ну и зачем он нам?
> Да он из коробки, даже в админке может еле шевелиться.
понятен, следующий!
> Я уже привык к быстрым системам на других более адекватных языках
у тебя, конечно, есть результаты нагрузочного тестирования, замеры ключевого функционала (у меня они - есть, поскольку php обложен метриками, а в твоей поделке как?) и ты их можешь показать клиенту? Или все заключается в гордом "у вас тормозит, у меня не будет!", с демонстрацией шаблона сайта из одной странички с нулем контента, и кто с тобой не согласен - у тех, конечно же, "php головного мозга", ага?
P.S. лет десять назад одному такому почти удалось меня убедить - ну, он по крайней мере, использовал нормальную терминологию, и даже какие-то технические обоснования приводил, а не "пролетарское чутье". Посмотрел-посмотрел я как (рекомендованная им) джанга работает с базой данных - в общем, нагрузочное тестирование не потребовалось, так выкинули.
| |
|
5.67, Аноним (66), 12:20, 21/02/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
> не "пролетарское чутье" [...] нагрузочное тестирование не потребовалось, так выкинули.
Ясно. Про метрики он заливает, а нагрузочное тестирование не потребовалось.
| |
|
|
3.34, Аноним (32), 21:28, 20/02/2019 [^] [^^] [^^^] [ответить]
| +2 +/– |
> он, конечно, может подтормаживать - но для этого надо таки написать на нем нифига не статический сайт, и при этом вовсе не состоящий из одной странички.
Статические странички могут друг на друга ссылаться, представляешь. ШОК! СЕНСАЦИЯ!
| |
|
4.56, нах (?), 10:56, 21/02/2019 [^] [^^] [^^^] [ответить]
| +/– |
с разморозочкой вас - как там был интернетик, в вашем 1994м? В нашем-то 2019, к сожалению, ссылок-то на страницах уже и нет почти нигде.
юзеру совсем не "гипертекстовый графический фидонет" оказался нужен.
| |
|
|
6.64, нах (?), 12:08, 21/02/2019 [^] [^^] [^^^] [ответить]
| +/– |
повторяю: берешь плюсик, заворачиваешь в почту, отправляешь модератору на рассмотрение. Как рассмотрит, откроет исходник странички (ну или даже модным способом в базе поапдейтит счетчик - но потом придется еще подождать, пока сработает cron скрипт/большая красная кнопка, обновляющий статически сгенеренный сайт) - а как ты еще-то хотел?
аааа, ты хочешь чтоб ты плюсик ткнул и сразу все сработало, причем без перезагрузки страницы?
Ну, вот... и это мааааааленький такой плюсик, почти ненужная фича и на сайте с дизайном 90х...
Посетителей у которого, сам видишь, ну просто дофига.
| |
|
|
|
|
|
3.58, нах (?), 11:01, 21/02/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
кто ему плюс нажал - забирайте обратно. Статика рулит - плюс пришлете емейлом, модератор его рассмотрит и вручную поправит на страничке.
| |
3.73, Аноним (73), 19:08, 21/02/2019 [^] [^^] [^^^] [ответить]
| +/– |
>Статика рулит.
написал человек на странице вовсе не через генерируемые в статику комменты 🤦♂️
| |
|
4.80, th3m3 (ok), 13:25, 22/02/2019 [^] [^^] [^^^] [ответить]
| –1 +/– |
Для комментов полно сервисов, которые легко подключаются к статичным сайтам.
| |
|
|
2.68, Сергей (??), 13:20, 21/02/2019 [^] [^^] [^^^] [ответить]
| +/– |
А если подумать, то и без бложика можно обойтись. Всё равно ни одной умной мысли там не было.
| |
|
1.36, robot228 (?), 22:35, 20/02/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Много кто писал что на западе юзают вордпресс. Любят там его даже серьёзные конторки. Но вот параллельно с этим замечена тендеция возврата к статике. Hugo, Hexo, Jekyll и т. д.
У меня Jekyll. Доволен как слон. PHP&Wordpress must die.
| |
|
2.44, Аноним (44), 04:00, 21/02/2019 [^] [^^] [^^^] [ответить]
| +/– |
Тенденция возврата к статике возникла вскоре после появления динамической генерации контента, когда кто-то умный догадался, что одну и ту же страницу можно засунуть в memcached, вместо того, чтобы каждый раз генерить её заново.
А теперь кто-то догадался, что эти сгенерированные страницы можно аккуратно разложить на диске и отдавать с него.
| |
|
3.59, нах (?), 11:05, 21/02/2019 [^] [^^] [^^^] [ответить]
| +/– |
только на то он и memcached, что страничка в нем рано или поздно поэкспайрится, и будет пересоздана заново.
> А теперь кто-то догадался, что эти сгенерированные страницы можно аккуратно разложить на диске и
> отдавать с него.
кто-то - неосилятор быстрых шаблонизаторов, настолько, что отдавать с диска (а не из memcached) у него получается заметно глазу быстрее чем сгенерировать?
Знаете, ребята, а php похоже не настолько плох, как я привык считать.
| |
|
4.76, Онаним (?), 20:56, 21/02/2019 [^] [^^] [^^^] [ответить]
| +/– |
Из шустрейших шаблонизаторов - blitz. В виде сишного модуля для пыха.
| |
|
|
|
1.50, трурль (?), 09:46, 21/02/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Кстати, граждане похапехейтеры. Подскажите, как настроить php, чтобы он стал, наконец, уязвляться этой самой phar-уязвимостью. Может, модуль какой надо установить, или что.
У меня не хочет исполнять код через file_exists, хоть ты тресни. Дефолтная установка php-fpm из реп убунтей 16.04 и 18.04, и древний денвер на виртуалке тоже не хочет. Ни через http-сервер, ни через cli.
| |
|
2.51, domov0y (?), 10:31, 21/02/2019 [^] [^^] [^^^] [ответить]
| +/– |
А ты рассказывай как обгонял и как подрезал.
надо
1. разрешить фичу в конфиге php.ini (если память не изменяет)
2. phar архив собрать с сериализованными заголовками
3. открыть файл в блокноте и засрать эти самые заголовки до состояния что выполнится шелл код.
4. прикрутить этот самый шеллкод.
5. скормить файл не патченой версии пыха старше чем 5.3. через что-то люто бажное.
ибо выполняться должно
либо file_exists("phar://путь/к/phar.файлу.не.обязательно.с.расширением.phar....")
либо file_exists("phar://путь/к/phar.файлу.не.обязательно.с.расширением.phar..../not_found.html")
А вот
file_exists("путь/к/phar.файлу.не.обязательно.с.расширением.phar....")
или
file_exists("путь/к/phar.файлу.не.обязательно.с.расширением.phar..../not_found.html").
вернет true или false вообще не заглядывая внутрь архива
| |
|
3.57, нах (?), 10:59, 21/02/2019 [^] [^^] [^^^] [ответить]
| +/– |
в очередной раз - ну что неправильного в пути к моему файлу phar://someshit.phar/notfound.html ?
/dev/shm> ls -la !$
ls -la phar://someshit.phar/notfound.html
total 0
drwxr-xr-x 2 www www 40 Feb 21 10:57 ./
drwxr-xr-x 3 www www 60 Feb 21 10:57 ../
и какие еще символы в вполне разрешенном в юниксах пути вам надо запретить, чтобы пхп наконец подавился?
| |
|
4.60, domov0y (?), 11:20, 21/02/2019 [^] [^^] [^^^] [ответить]
| +/– |
а причем тут ls -la? Может я чего не знаю?
а то легенда гласит
"укурились разрабы и решили а хорошо чтобы можно было сунуть все файлы в один архив и он выполнялся. так родился формат phar. и озадачились они вопросом а как же будет узнавать скрипт быдлокодера, что внутри архива есть файл который надо подключить или прочитать? и не придумали они ничего лучше чем смотреть на первые буквы переданного аргумента. ( если там phar:// то расковыривать массив с заголовком, и искать его содержимое.)
Но вот трава кончилась и кто то решил набить в папиросу чая. раз затянулся, потом еще раз. И понял этот человек что без модных брюк а ля хипстер он жить не может. и, добавив в папиросу немного синтетической дряни, сей человек переписал модуль phar так, чтобы модуль поддерживал сериализованные массивы со всеми их багами и фичами
"
| |
|
5.65, нах (?), 12:10, 21/02/2019 [^] [^^] [^^^] [ответить]
| +/– |
> а причем тут ls -la? Может я чего не знаю?
в смысле - я тебе демонстриую реально созданный мной путь в юниксной fs.
С чего, собственно, пользователь не должен такие пути создавать?
А как теперь отличить путь это или кусок протокола - это уж сам придумывай.
не забыв передать спасибо дятлам, понатащившим в функции работы с файлами ненужно-функционал вместо создания более высокоуровневых оберток с отдельным интерфейсом и контролем типов.
| |
|
6.69, domov0y (?), 14:29, 21/02/2019 [^] [^^] [^^^] [ответить]
| +/– |
спасибо за то что напомнил что все таки существуют "альтернативно одаренные разработчики" которые переименовывают файлы на сервере давая им то имя под которым файл был загружен.
Я наивно полагал что гораздо проще дать файлу имя md5(user_id+tmp_filename+terminator+real_filename+terminator+time) а в бд записать получившийся хеш и real_filename.
| |
|
7.77, Онаним (?), 20:58, 21/02/2019 [^] [^^] [^^^] [ответить]
| +/– |
Всё ещё проще: открываем транзакцию, пишем в БД метаданные, получаем insert ID, пишем <insert ID>.file, коммитим транзакцию. Обработка ошибок транзакцию оборвёт - т.е. если не запишется файл, метаданные тоже сгинут. Единственный тонкий момент - если коммит транзакции сфейлился, не забыть удалить файл. Но это можно делать и периодически в хаускипере - листаем файлы, не находим в базе, грохаем.
| |
|
8.78, Онаним (?), 21:00, 21/02/2019 [^] [^^] [^^^] [ответить] | +/– | Заодно решается проблема с возможными коллизиями - insert id уникален для каждой... текст свёрнут, показать | |
|
|
|
|
|
3.70, трурль (?), 15:35, 21/02/2019 [^] [^^] [^^^] [ответить] | +/– | С древним денвером ясно,там 5 3 А, вон чего я упустил Теперь на cli наблюдаетс... большой текст свёрнут, показать | |
|
4.71, трурль (?), 15:38, 21/02/2019 [^] [^^] [^^^] [ответить]
| +/– |
Кстати, неплохая идея хранить пользовательские файлы на диске с хэшированными именами, тогда см. историю с вирусами про линукс, п.1.
| |
|
5.81, Vitaliy Blats (?), 14:04, 22/02/2019 [^] [^^] [^^^] [ответить]
| +/– |
> Кстати, неплохая идея хранить пользовательские файлы на диске с хэшированными именами
Пока что-то не наенбется, и не понадобится это отыскать среди нескольких тысяч файлов с непонятными именами.
Переменным и файлам лучше давать осмысленные структурированные имена. Иначе эти имена вообще не нужны, можно тупо брать HEX-заголовок из ФС.
| |
|
|
|
|
1.82, Аноним (82), 09:38, 23/02/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Обновился до 5,1 версии.
Полнейшая муть,не удобно ни чего!
Редактор полнейшая хрень.
| |
1.83, Аноним (83), 20:51, 27/02/2019 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Ставь плагин TinyMCE Advanced и включай пункт в настройках "Заменить редактор блоков классическим редактором"
Пока как-то так. Лучшего пока не нашел
| |
|