Есть ли способ уплотнить../.. части пути программно?

Большинство поставщиков VPS, если они были вокруг достаточно долго, имеет известный блок IP-адресов и склонно получать грузоподъемность судна вредоносного трафика. Я был бы чрезмерно осторожен, заблокировал бы все это вниз, и только открытые порты, и т.д. когда Вы уверены, что они безопасны и могут обработать некоторый вредоносный трафик и подстрелить его правильно.

3
12.09.2018, 14:18
2 ответа

А-ч, которого спрашивают слишком быстро. На Linux ответ должен использовать readlink с -m переключатель:

$ readlink -m /home/saml/web/../web_login_form_examples/basic-php-parsing.zip
/home/saml/web_login_form_examples/basic-php-parsing.zip

страница справочника readlink

-m, --canonicalize-missing
       canonicalize by following every symlink in every component of the
       given name recursively, without requirements on components existence
4
27.01.2020, 21:13

Если Вы не интересуетесь следующим file.txt когда это - символьная ссылка, и Вы предполагаете, что файл существует:

filename=/path/to/file1.txt
canonical_directory=$(cd -- "$(dirname -- "$filename")/" && pwd -P)
echo "$canonical_directory/${filename##*/}"

Это полностью портативно (кроме к некоторым старинным вещам предPOSIX).

3
27.01.2020, 21:13

Теги

Похожие вопросы