1.3, Аноним (3), 19:50, 05/07/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –2 +/– |
Сишники и их классическая неспособность защититься от ../../../etc/passwd. Кто-нибудь познакомьте их с такой революционной по их меркам концепцией, как "библиотека по работе с путями".
| |
|
|
3.9, Аноним (3), 20:06, 05/07/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
лефтпад в исполнении сишников как пить дать будет содержать парочку уязвимостей.
| |
|
4.17, Аноним (5), 21:47, 05/07/2023 [^] [^^] [^^^] [ответить]
| +3 +/– |
Ничего удивительного если ты начнёшь писать на си ты ещё ногу себе отстрелишь.
| |
|
5.58, Аноним (58), 09:46, 06/07/2023 [^] [^^] [^^^] [ответить]
| +3 +/– |
Сишка для программистов с профильным образованием и серьезным фундаментом в плане того как работает ЭВМ. Смузихлебам Си противопоказан, для вас есть чатжпт, джабаскрипт и питон.
| |
|
6.59, arisu (ok), 09:58, 06/07/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Сишка для программистов с профильным образованием и серьезным фундаментом в плане того
> как работает ЭВМ.
бедный Дейкстра. куда уж ему, недоучке, до Великих Сишников с Профильным Образованием…
| |
|
7.123, Аноним (-), 16:01, 07/07/2023 [^] [^^] [^^^] [ответить]
| +/– |
> бедный Дейкстра. куда уж ему, недоучке, до Великих Сишников с Профильным Образованием…
Дейкстра хотя-бы ос которую сам и написал, хотя-бы для себя пользовался? И вирта туда же :). Поразвелось теоретических обучальщиков как системщину правильно делать - ведь гадить на плечи на которых стоишь так просто.
| |
|
6.60, arisu (ok), 09:59, 06/07/2023 [^] [^^] [^^^] [ответить]
| –3 +/– |
> Сишка для программистов с профильным образованием и серьезным фундаментом в плане того
> как работает ЭВМ.
а, забыл: ещё Вирт. тоже недоучка, не смог сишечку выучить, пришлось писать свою ось на какой-то ерунде.
| |
|
7.82, Аноним (-), 13:51, 06/07/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Много знаешь айтишников кто закончил профильный ВУЗ? Сейчас среднестатистический джун = вайтишник с средним или гуманитарным образованием коммерческого ВУЗа.
| |
|
8.84, Аноним (-), 13:54, 06/07/2023 [^] [^^] [^^^] [ответить] | +2 +/– | Двачую адеквата В IT сегодня вкатывается каждый второй после ютуб курса питон з... текст свёрнут, показать | |
|
9.87, arisu (ok), 14:10, 06/07/2023 [^] [^^] [^^^] [ответить] | +2 +/– | денег предлагать не пробовали ну так, нормально денег говорят, помогает потом... текст свёрнут, показать | |
|
8.94, Аноним (94), 17:20, 06/07/2023 [^] [^^] [^^^] [ответить] | +3 +/– | А в профильных вузах сейчас где-то есть толковый Computer Science уровня MIT В ... текст свёрнут, показать | |
|
9.125, Аноним (125), 16:08, 07/07/2023 [^] [^^] [^^^] [ответить] | +/– | Ну да В российском вузе даже не расскажут как применить вон того ридсоломона к ... большой текст свёрнут, показать | |
|
10.140, пох. (?), 18:20, 08/07/2023 [^] [^^] [^^^] [ответить] | –1 +/– | Дружище, не хочу тебя огорчать, но в роиськом вузе не расскажут что вообще такое... большой текст свёрнут, показать | |
|
11.142, Аноним (142), 13:18, 10/07/2023 [^] [^^] [^^^] [ответить] | +/– | Ну да, пожалуй Как-то так В российских вузах как максимум дадут грузню обшего ... большой текст свёрнут, показать | |
|
12.143, пох. (?), 13:25, 10/07/2023 [^] [^^] [^^^] [ответить] | +/– | да вот это как раз максимум и есть Только реееедкий российский вуз дойдет до об... большой текст свёрнут, показать | |
|
13.146, Аноним (146), 17:20, 10/07/2023 [^] [^^] [^^^] [ответить] | +/– | У россиян те вузы которые до Галуа доберутся - будут страшно далеки от рассказов... большой текст свёрнут, показать | |
|
|
|
|
|
|
|
|
|
|
3.114, Аноним (-), 11:55, 07/07/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Она называется leftpad мы помним.
Вон там пример вообще байды на дотнете в новости :). Манагер паролей, рассылающий базы всему миру - прикольно.
| |
|
2.14, Аноним (14), 20:38, 05/07/2023 [^] [^^] [^^^] [ответить]
| –6 +/– |
В ручной обработке путей можно накосячить независимо от языка. Но да, C сразу подразумевает низкий уровень разработчика и большую вероятность в том числе логических ошибок.
| |
|
|
|
5.141, пох. (?), 18:22, 08/07/2023 [^] [^^] [^^^] [ответить]
| +/– |
Что отвалите от нас с вашим частным случаем, мы тут глобальные проблемы решаем.
| |
|
|
|
2.19, OpenEcho (?), 22:03, 05/07/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
> "библиотека по работе с путями"
А своей то башкой вообще думать слабо ?
А то как посмотришь на твоих соратников, так на строчку хело-ворлд сотня импортов
Причем 100% уникально "чистейших библиотек", "без грамма дерьма". И думать не надо и в случае чего свалить есть на кого
| |
|
3.51, Брат Анон (ok), 08:33, 06/07/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Нет проблем. Учитывая, что речь идёт про веб-сервер: oberon, modula-2, golang, freepascal, freebasic, rust.
| |
|
4.76, Тот_ещё_аноним (ok), 13:17, 06/07/2023 [^] [^^] [^^^] [ответить]
| –2 +/– |
Ага, языков ещё можно пару добавить
А вот вебсерверов из хотя бы топ5 на них написанных, что-то не видно
Может потребности в железе на одного клиента сказываются и потребляемых киловаттах?
| |
|
5.107, Аноним (107), 22:03, 06/07/2023 [^] [^^] [^^^] [ответить]
| +6 +/– |
> А вот вебсерверов из хотя бы топ5 на них написанных
Cloudflare использует свой веб-сервер (reverse proxy), написанный на Rust, под названием Pingora. Они покрывают больше 10% всего трафика в мире. Значит в топ-5 он точно входит.
| |
|
|
3.54, Аноним (58), 09:37, 06/07/2023 [^] [^^] [^^^] [ответить]
| –3 +/– |
Сервер можно написать хоть на nodejs и он будет прекрасно работать.
| |
|
2.64, YetAnotherOnanym (ok), 11:06, 06/07/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Сишники
Ещё один страдающий от существования Си.
Здесь, вообще-то, логическая ошибка, которую может допустить программист на любом языке.
| |
|
1.13, Аноним (13), 20:23, 05/07/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
По идее, такое должны отлавливать статические анализаторы типа яндексовского gixy.
| |
|
2.52, Брат Анон (ok), 08:36, 06/07/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
1) Если языку нужен статический анализатор (правила, не определены в самом языке) -- это плохой язык.
2) При чём тут статический анализатор, если это дело ТЕСТОВ?! На весь возможный код на языке N статических анализаторов не напасёшься.
| |
|
3.144, Аноним (-), 14:09, 10/07/2023 [^] [^^] [^^^] [ответить]
| +/– |
> 1) Если языку нужен статический анализатор (правила, не определены в самом языке)
> -- это плохой язык.
Ну конечно! Давайте вон тем раздолбайским апликушникам вкатим набор правил уровня MISRA или каких-нибудь авиаторов, посмотреть как им такое программирование вообще будет и насколько их хватит. One size fits all же, да? :)
| |
|
2.115, Аноним (-), 11:58, 07/07/2023 [^] [^^] [^^^] [ответить]
| +/– |
> По идее, такое должны отлавливать статические анализаторы типа яндексовского gixy.
Для синтаксиса URL который навязан стандартами вот этого самого - vs типовые апи файлух - это не слишком пресное начинание. Мягко говоря. В урлах например есть способы кодировать символы как какой-нибудь %3f - и на этом тоже регулярно налетают.
| |
|
1.16, Аноньимъ (ok), 21:21, 05/07/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –6 +/– |
Вообще отдавать файлы из директорий в интернет по шттп запросам немного маразматичная идея...
Как и сервера почты хранящие сообщения в файлах.
Но это юникс технологии...
| |
|
2.21, OpenEcho (?), 22:10, 05/07/2023 [^] [^^] [^^^] [ответить]
| –3 +/– |
> Вообще отдавать файлы из директорий в интернет по шттп запросам
И в чем теперь принято отдавать файлы по интернету если хттп?
> немного маразматичная идея...
Приехали... Ысчо один судья и непризнанный гений?
> Как и сервера почты хранящие сообщения в файлах.
А, ну да, надо в облачных бакетах, точно, - всех в одно стойло
Или там что то новое нарисовалось?
| |
|
3.23, Аноньимъ (ok), 22:19, 05/07/2023 [^] [^^] [^^^] [ответить]
| –3 +/– |
Речь шла конечно же о примитивном сопоставлении путей из запроса с путями файловой системы, что бред небезопасно и тупо.
Сама по себе концепция идиотская.
>И в чем теперь принято отдавать файлы по интернету если хттп?
FTP
>Или там что то новое нарисовалось?
Базы данных изобрели много много десятилетий назад. Но когда вместо мозгов юникс и сишка, то все на свете сразу файлом становится.
| |
|
4.28, Аноним (28), 22:48, 05/07/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
>>И в чем теперь принято отдавать файлы по интернету если хттп?
> FTP
Нет, спасибо. Мёртворождённые протоколы не нужны. FTP был большой ошибкой, и ещё большей ошибкой оказались все попытки его починить.
| |
4.30, OpenEcho (?), 23:31, 05/07/2023 [^] [^^] [^^^] [ответить]
| –2 +/– |
> Сама по себе концепция идиотская.
Настолько "идиотская", что до сих пор доминирует
> FTP
Да, я смотрю у вас "очень высокий" концептуальный уровень
> Базы данных изобрели много много десятилетий назад.
Здается мне, что вы застряли на Вордпресс девелопенге?
| |
|
5.41, Аноньимъ (ok), 01:29, 06/07/2023 [^] [^^] [^^^] [ответить] | +1 +/– | Ну да, как и идея херачить текст полученный из интернета в командную строку, как... большой текст свёрнут, показать | |
|
|
5.90, Аноньимъ (ok), 14:36, 06/07/2023 [^] [^^] [^^^] [ответить]
| +/– |
Урла это уникальный адрес ресурса.
ФС это системная база данных.
То что и там и там по случайности есть слэши в имени ресурсов и запросов к БД не означает что можно брать куски юрлы и на прямую херачить их в виде запросов к системной БД.
Так же как нельзя подобным образом из юрлы куски текста в sql запрос пихать.
| |
|
4.116, Аноним (-), 12:00, 07/07/2023 [^] [^^] [^^^] [ответить]
| +/– |
> FTP
Этот протокол вообще должен умереть. Мало того что не работает через половину натов и файрволов без плясок с бубнами - так еще пего перфоманс при заливке например кучи мелочи невероятно позорный, т.к. в пайплайнинг ЭТО насколько я помню не умеет.
> Базы данных изобрели много много десятилетий назад. Но когда вместо мозгов юникс
> и сишка, то все на свете сразу файлом становится.
И бобби тэйблс так то уже не молодой чувак :)
| |
|
3.72, Бывалый смузихлёб (?), 12:23, 06/07/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Без разницы на чём
По сути, это просто запрос с конкретным юрл'ом, который далее уже обрабатывается
Очевидно, вместо прямого проброса на каталог, надо проверить в БД, есть ли запрашиваемый файл
Есть - выдать по указанному там адресу
Нет - послать
А ведь у файлов и каталогов могут быть разные права доступа относительно запрашивающих пользователей. тут нельзя просто взять - и пробросить каталог, в любом случае нужна БД и тонна записей
Оно уже тыщщу лет так работает. Хз кто в здравом уме в тырнеты пробрасывает доступ к файлам способом, описанным в статье
| |
|
4.74, arisu (ok), 13:07, 06/07/2023 [^] [^^] [^^^] [ответить]
| +/– |
эвона как. ты, наверное, программист. оно и неудивительно, что софт жрёг гигабайты памяти, требует гигагерцы цпу, а тормозит при этом покруче, чем дум на 6502.
| |
|
5.81, Бывалый смузихлёб (?), 13:49, 06/07/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
> ты, наверное, программист
А кого ещё можно почти наверняка встретить на опеннете ?)
Стандарты есть стандарты, а уж если решил открыть дыру - так будь готов что ей воспользуются
Ну серьёзно
Это ведь даже не ынтыпрайс
Просто, кагбэ логично давать пользователям доступ ровно до тех файлов, которые ты для них выгрузил, а не для всей системы просто потому, что один додумался написать несколько точек в адресе, а другой - урод-разработчик - не додумался это отфильтровать и обработать корректно
Посему, всё доступное строго по записи[в БД]
Но кстати, мой софт не тормозит даже на старом смартфоне
| |
|
6.86, arisu (ok), 14:08, 06/07/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Просто, кагбэ логично давать пользователям доступ ровно до тех файлов, которые ты
> для них выгрузил, а не для всей системы
а может это… того… ну, прочитать про права доступа фс, например? пользоваться серверами, которые умеют открыть себе нужные файлы, а потом имперсонироваться в нужного юзера? вот такое вот? а хотя не, ерунда какая-то, давайте дублировать возможности фс через отдельную базу данных, что может пойти не так…
| |
|
7.118, Аноним (-), 12:04, 07/07/2023 [^] [^^] [^^^] [ответить]
| +/– |
Фу ты какой немодный кэп, ты еще скажи про чрут, или боже упаси, контейнеры. Представляешь, если у меня в виде ФС для браузера есть только Downloads по сути - ну, окей, попробуй спереть из этого view /etc/passwd какой - при том что его в этом view чисто технически нет. Потому что для работы браузера это не требовалось :)
| |
|
|
5.117, Аноним (-), 12:01, 07/07/2023 [^] [^^] [^^^] [ответить]
| +/– |
> эвона как. ты, наверное, программист. оно и неудивительно, что софт жрёг гигабайты
> памяти, требует гигагерцы цпу, а тормозит при этом покруче, чем дум
> на 6502.
Потом бобби тейблс ему в базу /etc/passwd пропишет, дропнув попутно всякие беспонтовые сайтики. And we're back to square one :)
| |
|
4.98, YetAnotherOnanym (ok), 18:09, 06/07/2023 [^] [^^] [^^^] [ответить]
| +/– |
Не, ну чо, маппить URL в путь к файлу через специальную таблицу в БД - один из вариантов.
Заводить отдельную таблицу, целиком состоящую из записей вида
/manuals/0123456789.pdf | /var/www/static/manuals/0123456789.pdf
это, конечно, стильно-модно-молодёжно, да.
| |
|
5.101, Аноньимъ (ok), 18:21, 06/07/2023 [^] [^^] [^^^] [ответить]
| +/– |
Ну, для статического контента такую таблицу можно генерировать веб сервером автоматически из целевой директории.
Например.
Но можно и просто чуть более разумно парсить путь к файлу если уже так хочется прямого отношения части урлы к структуре каталогов.
Ключевое что не должно быть копипаста данных из урлы в запрос к ФС.
| |
|
6.119, Аноним (-), 13:38, 07/07/2023 [^] [^^] [^^^] [ответить] | +/– | И как это улучшает вон то состояние дел Типа вот там сервер на бывается, а вот ... большой текст свёрнут, показать | |
|
7.122, Аноньимъ (ok), 15:49, 07/07/2023 [^] [^^] [^^^] [ответить]
| +/– |
>По-моему радикально огородить серв в чрут а лучше контейнер (т.к. чрут имеет ряд проблем) так то эффективнее решает задачу с меньшей возней.
Эффективнее как у эффективных менеджеров.
>спецсимволов
Проверка валидности запроса из неконтролируемой среды есть обязанность сервера, точка.
>Ну да, давайте в базу отправим.
ФС тоже база данных.
Ни в какую базу данных, тем более скульную, ненужно копипастить текст из запроса.
| |
|
8.127, Аноним (-), 19:26, 07/07/2023 [^] [^^] [^^^] [ответить] | +/– | Решает проблему - быстро, сердито, даже без правки кода - и хитов в перфоманс Е... большой текст свёрнут, показать | |
|
|
10.131, Аноним (131), 21:03, 07/07/2023 [^] [^^] [^^^] [ответить] | +/– | Всего лишь практическая и практичная эксплуатация реально существующего софта в ... большой текст свёрнут, показать | |
|
|
12.134, Аноним (134), 22:55, 07/07/2023 [^] [^^] [^^^] [ответить] | +/– | А я то думал что надо уповать на сферический софт в вакууме, в котором багов не ... большой текст свёрнут, показать | |
|
|
|
|
|
|
|
|
|
|
|
1.20, Аноним (20), 22:04, 05/07/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Теоретически конечно пользователь "сам дурак", ибо все работает так, как описано в документации. А практически - та еще дыра.
| |
1.22, Тот_ещё_аноним (ok), 22:13, 05/07/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +6 +/– |
Прям проникся с каментов Си-хейтеров
Новость: "При неправильно написанной конфигурации вебсервера будет дырка"
Виноваты язык Си и те кто сервер написал
Написавшим дырявый конфиг и не исправившим с 2018 года - почет и уважение
Логика)
| |
|
2.24, Аноньимъ (ok), 22:23, 05/07/2023 [^] [^^] [^^^] [ответить]
| –4 +/– |
Обычно принято конфиги на вилидность проверять прежде чем применять.
Но сишники такой простой идеи не понимают, ведь С/С++ компиляторы любой бред шизофреника маньяка готовы компилировать и это у них ФИЧА такая.
| |
|
|
4.31, Аноним (28), 23:36, 05/07/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Если кто-то спек не прочёл - ссзб
Есть один важный принцип проектирования софта, называется «principle of least astonishment». Если ты про него не знаешь — ССЗБ.
| |
|
5.73, Тот_ещё_аноним (ok), 13:03, 06/07/2023 [^] [^^] [^^^] [ответить]
| –2 +/– |
Когда-то в инструкции по эксплуатации автомобиля писали, как регулировать зазоры клапанов
Теперь, что аккумуляторную жидкость пить нельзя
Ожидаемое поведение в конфиге вебсервера? Это серьёзно?
Читаем спецификацию и никаких сюрпризов
| |
|
6.104, Аноним (28), 18:30, 06/07/2023 [^] [^^] [^^^] [ответить]
| +3 +/– |
> Когда-то в инструкции по эксплуатации автомобиля писали, как регулировать зазоры клапанов
Конфиг веб-сервера — это не клапана, а руль и педали.
> Ожидаемое поведение в конфиге вебсервера? Это серьёзно?
Абсолютно серьёзно. Особенно в конфиге вебсервера. Вебсервер чаще всего взаимодействует с публичным интернетом и ошибки в его конфигурации могут быть особенно опасны, в чём мы и убедились. Если у админа нет синдрома саванта, ошибки неизбежны, поэтому и конфиг должен быть интуитивно понятным, и цена ошибки должна быть минимальна. Ни то, ни другое нельзя сказать про сабж.
| |
6.135, Аноним (-), 00:01, 08/07/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Когда-то в инструкции по эксплуатации автомобиля писали, как регулировать зазоры клапанов
ЧСХ водители с удовольствием послали эти автомобили туда где не светит солнце при первой же возможности. Потому что если кто хотел водить авто - это совсем не значит что он хотел загорать под жигуленком вместо поездки на шашлыки. Автомобили покупают не для того чтобы с клапанами сношаться.
| |
|
|
4.43, Аноньимъ (ok), 01:38, 06/07/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Так все эти конфиги - валидные
> Если кто-то спек не прочёл - ссзб
Вот я и говорю, типичный сишный маразм.
Спек конечно же стоит прочитать, только в спеке будет undefined behaviour через абзац, а double не меньше float который может быть любого размера как боженька пошлёт.
Ну и конечно же неотлавливаемые переполнения целых чисел.
| |
|
5.126, Аноним (-), 19:16, 07/07/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Вот я и говорю, типичный сишный маразм.
Этот маразм сам по себе ортогонален сям и происходит из API файловых систем. Даже в HTML можно пути указывать как ../img/abc.jpg - и это валидный синтаксис. Сервер должен его отработать. Вот прям так, с вылезанием на уровень вверх - если права на это есть.
> Спек конечно же стоит прочитать, только в спеке будет undefined behaviour через
> абзац, а double не меньше float который может быть любого размера
Казалось бы при чем тут апи файлух с его дурацкостями? Это апи и у остальных такое же. А либы могут взять как эти так и те.
> Ну и конечно же неотлавливаемые переполнения целых чисел.
А у кого оно отлавливаемое без жесткого хита в перфоманс? :)
| |
|
6.128, Аноним (128), 19:42, 07/07/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Этот маразм сам по себе ортогонален сям и происходит из API файловых систем. Даже в HTML можно пути указывать как ../img/abc.jpg - и это валидный синтаксис. Сервер должен его отработать. Вот прям так, с вылезанием на уровень вверх - если права на это есть.
Вот только этот путь не имеет отношения к файловой системе сервера. Это исключительно УРЛ-путь и обычно обрабатывается самим браузером, а на сервер приходит уже конечный вариант пути.
| |
|
7.136, Аноним (-), 00:02, 08/07/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Вот только этот путь не имеет отношения к файловой системе сервера. Это
> исключительно УРЛ-путь и обычно обрабатывается самим браузером, а на сервер приходит
> уже конечный вариант пути.
Эта семантика взята именно из ФСовских апи. Так что насчет не имеет отношения - булшит однако. Особенно для сервера статики.
| |
|
|
9.145, Аноним (-), 16:24, 10/07/2023 [^] [^^] [^^^] [ответить] | –1 +/– | Не просто может - но и совпадает вот И это вполне легитимная конструкция В вин... большой текст свёрнут, показать | |
|
|
|
6.129, Аноньимъ (ok), 20:11, 07/07/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Этот маразм сам по себе ортогонален сям и происходит из API файловых
Ничего такого в апи файлух нет.
> Сервер должен его отработать.
Должен, и если запрос валидный должен отдать ресурс, а если невалидный, должен послать нафиг.
Так же как ФС пошлет вас если вы сделаете запрос на несуществующий или ограниченный правами файл.
>Казалось бы при чем тут апи файлух с его дурацкостями?
Мы тут вообще то говорили о спеках к файлу конфигурации.
> А у кого оно отлавливаемое без жесткого хита в перфоманс? :)
Главная страшилка сишников. Прямо жёсткий ужасный хит п е р ф о м а н с а!
Правда это проверка одного флага ЦП после операции.
Ну ладно, а опциональную то проверку можно, как в проклятом расте?
| |
|
7.137, Аноним (-), 00:12, 08/07/2023 [^] [^^] [^^^] [ответить] | +/– | А почему тогда синтаксис вида cd dir - работает и без всяких вебсерверов в... большой текст свёрнут, показать | |
|
|
|
|
3.29, Аноним (29), 23:22, 05/07/2023 [^] [^^] [^^^] [ответить]
| +3 +/– |
Так это не баг, а фича. Alias сопоставляет префикс как подстроку, там / - просто символ, как и любой другой.
Скажем, есть /var/www/images/photo-1.jpg (photo-2.jpg итд), и хочется по /photos/1.jpg отдать /var/www/images/photo-1.jpg итд. С текущей реализацией alias это легко делается безо всяких регулярных выражений. А если "починить" "уязвимость", подобные конфигурации сломаются.
| |
|
4.32, Аноним (28), 23:38, 05/07/2023 [^] [^^] [^^^] [ответить]
| +/– |
Хорошая фича, и кейс вполне реальный. Но можно при этом не отдавать ../../../etc/passwd?
| |
|
5.39, mistiq (ok), 01:13, 06/07/2023 [^] [^^] [^^^] [ответить]
| +3 +/– |
скорее не так, отрезать все что выходит за рамки / веб сервера. тогда ничего левого и не будет отдано.
| |
|
6.45, Аноним (20), 03:00, 06/07/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Ну здесь идея в том что alias может указывать на любой каталог, независимо от того где расположен корень веб-сервера. Иначе толку от этой директивы немного.
| |
|
7.46, mistiq (ok), 03:07, 06/07/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Ну здесь идея в том что alias может указывать на любой каталог,
> независимо от того где расположен корень веб-сервера. Иначе толку от этой
> директивы немного.
Я понимаю идею, но если возникает необходимость перехода где-то внутри ФС вне рута веб сервера это выглядит как недостаток архитектуры веб приложения.
Как вариант разрешить симлинки из рута веба в другие каталоги, но не более. То есть, альяс ограничен рутом и строго симлинками.
| |
|
8.53, 1 (??), 09:30, 06/07/2023 [^] [^^] [^^^] [ответить] | +1 +/– | Ну а дальше он по этим симлинкам и вылезет - P S Приплетание С тут по принцип... текст свёрнут, показать | |
|
7.89, Аноньимъ (ok), 14:34, 06/07/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Ну здесь идея в том что alias может указывать на любой каталог
Ни на какой каталог он не должен указывать.
Урла это уникальный адрес ресурса.
ФС это системная база данных.
То что и там и там по случайности есть слэши в имени ресурсов и запросов к БД не означает что можно брать куски юрлы и на прямую херачить их в виде запросов к системной БД.
Так же как нельзя подобным образом из юрлы куски текста в sql запрос пихать.
| |
7.92, Аноним (128), 16:29, 06/07/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Ну здесь идея в том что alias может указывать на любой каталог,
Ну так и пусть указывает, но путь пускай получает уже после обработки УРЛ (т.е. без "..").
| |
|
6.49, Sw00p aka Jerom (?), 07:10, 06/07/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
>тогда ничего левого и не будет отдано
Ну раз всем разрешено читать файл /етц/пассвд, то в чем проблема , если его прочтет по запросу нгинкс? А нуда ибешники про юзер энум затрубят? Юзайте тогда нормальные пермишен костили вроде селинуксов, фаполисид, аппармоуры и т.д. колясок :)
| |
|
5.88, Аноним (94), 14:27, 06/07/2023 [^] [^^] [^^^] [ответить]
| +/– |
Нормализация пути происходит на уровне location, и на его уровне неизвестно, будет внутри alias или что-то еще, это отдельный модуль. Две точки в пути без слеша - вполне валидный кейс. А со слешом там и не пройдёт.
А alias - это просто конкатенация. Отсутствие слеша в location и присутствие в другом - это выстрел в ногу. Делать же двойную проверку - это зря жечь электричество.
По хорошему, тут нужен валидатор конфигов, который бы на такую конструкцию выдавал предупреждение.
| |
|
4.44, Аноньимъ (ok), 01:45, 06/07/2023 [^] [^^] [^^^] [ответить]
| –2 +/– |
Вот я ровно о том же и говорю.
Типичный пример плохого инженерного подхода, когда гвозди забивают умеют, но никакого понимания цели и причины нет, важен так сказать процесс.
Другой пример стандарт С++.
Третий пример, недавно затонувшая субмарина Титан.
| |
|
|
|
1.47, Аноним (47), 05:21, 06/07/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Это не баг, а фича. Закрывайте каталоги другими доступными средствами. Например, не устанавливая nginx в основную систему или совсем не устанавливая.
| |
1.50, arisu (ok), 07:54, 06/07/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
«кодироваеть умею, для людей не умею.» потому что алиас для не-каталога должен или быть другой командой, или требовать обязательной опции-уточнения.
вообще, сишников нельзя выпускать из клетки, и уж тем более нельзя позволять им дизайнить что-то для end user'а. потому что у них повальный вывих мозга: «надо сделать так, чтобы вероятность ошибки пользователя была велика, и можно было самого пользователя потом обвинить.»
есть, конечно, исключения, но они пишут на си исключительно по необходимости, и без удовольствия. и не вскормлены сишечкой. а если человек вскормлен сишечкой — то это намного хуже, чем даже древним бейсиком.
| |
|
2.91, Аноним (20), 15:42, 06/07/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
Да вы без контейнеров скоро сложить два числа не сможете. Понапридумывали дерьма и сделали вид что без него нельзя жить.
| |
|
1.63, Ilya Indigo (ok), 10:30, 06/07/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +2 +/– |
Написать location без / на конце, даже без alias, это нужно умудрится как-то сделать, даже не знаю как...
| |
|
2.79, Капитан Очевидность (?), 13:37, 06/07/2023 [^] [^^] [^^^] [ответить]
| +/– |
location ~* ^/(?:xmlrpc\.php|wp-links-opml\.php|wp-config\.php|wp-config-sample\.php|wp-comments-post\.php|readme\.html|license\.txt)$ {
deny all;
}
Ты правда думаешь, что тут нужен / в конце?
Что ты несешь вообще?
Локейшены бывают ОЧЕНЬ разные, они могут быть с трэйлинг-слэшем и без него, по обстоятельствам
А вот если это локейшен с алиасом, то должен быть трэйлинг-слэш
| |
|
3.80, Ilya Indigo (ok), 13:48, 06/07/2023 [^] [^^] [^^^] [ответить]
| +/– |
Имел ввиду, забыл уточнить, локейшены в которых явно подразумевается одна конкретная директория!
А локейшены и такими бывают, точнее должны быть в нормальных сайтах на фреймвёрках.
<code>
location = /index.php
{
return 404;
}
location ^~ /.
{
return 404;
}
location /
{
try_files $uri @php;
}
location @php
{
fastcgi_read_timeout 30s;
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
include fastcgi_params;
fastcgi_pass unix:/run/php-fpm.sock;
}
</code>
Где index.php едиинственный скрипт в $document_root а всё остальное статика.
А весь код лежит за пределами $document_root и недоступен nginx-у.
| |
|
4.102, Капитан Очевидность (?), 18:24, 06/07/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Имел ввиду, забыл уточнить, локейшены в которых явно подразумевается одна конкретная директория!
А, ну с таким уточнением да, становится твоя фраза более логичной
| |
|
|
2.99, Аноним (28), 18:11, 06/07/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Какой-то айти-шаманизм. Как догадаться, что в конце location должен быть /? Правильно, никак. Про важность слэша в конце location можно узнать только прочитав и запомнив документацию. При чём, подход неинтуитивен, т.к. на Юниксе cd directory и cd directory/ приводит к одинаковому рельзультату. Выходит, что дизайн языка конфигурации создавался не для людей, а для ChatGPT и для тех, у кого должностные обязанности состоят из двух слов: настройка Nginx.
| |
|
3.103, Ilya Indigo (ok), 18:27, 06/07/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
Документацию конечно же нужно читать, без неё что угодно НЕ понятно будет!
location без регулярки означает строку начинающуюся с, а не равенство.
Это удобно и зачастую именно это требуется в кофигурации.
| |
|
4.132, Аноним (28), 21:07, 07/07/2023 [^] [^^] [^^^] [ответить] | +1 +/– | Если ты когда-либо читал документацию на большие системы типа Nginx, ты бы замет... большой текст свёрнут, показать | |
|
|
|
|
2.77, Ilya Indigo (ok), 13:21, 06/07/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
> Почему nginx -t не проверяет этого?
Потому что /images нормальный допустимый шаблон для обработки запросов вида, например для
/images-user.html /images-company.html и/или /images-user/ /images-company/.
Например чтобы установить особые условия кеша.
Только для них не ставят псевдонимы.
| |
|
3.138, пох. (?), 00:47, 08/07/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
"Только для них не ставят псевдонимы."
Именно.
Их ставят как раз для прямого доступа к файлам (обычно это что-то большое) лежащим в стороне от вебни.
Поэтому и стоит такой случай проверять и фейлиться или хотя бы выдавать предупреждение что оно может работать совсем не так как показалось.
Но нет. Изобретатель nginx изобретал его под свой локалхост и больше ни под что. А все дальнейшие улучшизмы не смеют затрагивать корней.
Поэтому пока "if is evil" и тому подобная мерзость не будет заменено на "мы переработали структуру конфига и им снова можно пользоваться без чорной магии" - надо просто выбирать другой софт. И уже много-много лет назад.
| |
|
|
1.96, targitaj (?), 17:47, 06/07/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
А что будет в случае наоборот? location закрыт знаком /, а alias - нет. Это норм или надо править?
| |
|