Які символи можна використовувати в іменах файлів і папок?
Тільки:
-
Латиниця з малої (a–z)
-
Цифри (0–9)
-
Дефіс (-)
-
Нижнє підкреслювання (_)
Все інше заборонено.
Чому не можна використовувати пробіли, плюси та інші символи?
– Сервери і браузери інтерпретують їх по-різному. Наприклад, пробіл перетворюється в %20. Це може призвести до колізій і багів.
Які баги можуть виникати?
– Неправильні або биті посилання
– Неможливість завантаження файлу через різні системи
– Проблеми з кешуванням у браузері
– Збої в CDN або хостингу
– SEO-проблеми: пошуковики можуть індексувати URL по-різному
– Розрив роботи скриптів, які не очікують спецсимволів (докладніше - під спойлером)
Кавички в іменах файлів чи шляхів особливо небезпечні. Якщо такий шлях потрапить у JS (наприклад у src, href або у JSON), то:
-
Одинарні (') або подвійні (") кавички можуть розірвати рядок → скрипт зламається синтаксично.
-
У деяких випадках це навіть створює XSS-уразливість (можна «закрити» рядок і вставити довільний JS).
-
Наприклад:
let file = "images/test".jpg";
JS вважає, що рядок закінчився перед .jpg, і код падає з помилкою.
Немає коментарів для відображення