Javascript <script src = ...> принимает полный путь? - PullRequest
2 голосов
/ 07 ноября 2011

Если у меня есть структура каталогов, подобная этой:

/
├── home
│   └── user
│       └── test.js
├── usr
│   └── bin
└── var
    └── www
        └── index.html

Отложив на данный момент права доступа к папкам, если index.html имеет следующую строку

<script src="../../../home/user/test.js">

или

<script src="/home/user/test.js">

Будет ли это действительно?Если да, есть ли способ предотвратить это, чтобы можно было получить доступ только к вложенным папкам ( EDIT символические ссылки также следует игнорировать)?

Ответы [ 3 ]

3 голосов
/ 07 ноября 2011

Это действительно.Задача веб-сервера - обслуживать или не обслуживать файл.

Однако, если вы используете /home/user/test.js, это обычно относительно корня документа, поэтому он эквивалентен http://<host>/home/user/test.js.

3 голосов
/ 07 ноября 2011

Браузер попытается получить доступ к любому пути, указанному в атрибуте src. Вы можете ограничить определенные пути, установив права доступа к файлам через ваш веб-сервер (например, Apache).

2 голосов
/ 07 ноября 2011
<script src="/home/user/test.js">

будет действительным.Он будет просто использовать любой домен, который находится на веб-странице хоста, и будет начинаться с каталога верхнего уровня.Например, если веб-страница хоста была:

http://www.example.com/projectA/test.html

, то <script src="/home/user/test.js"> сгенерирует запрос файла в этом месте:

http://www.example.com/home/user/test.js

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...