Получение серверных путей через JavaScript против PHP - PullRequest
2 голосов
/ 08 февраля 2011

Безопасно ли кросс-браузерное использование JavaScript для извлечения путей к серверу? Для шаблона Joomla у меня есть несколько файлов JavaScript, которые будут включены через теги SCRIPT; для этих файлов требуются пути к серверам, такие как корень сайта. Вот некоторый код JS, который я нашел и который получает пути к серверу:

var hash = self.location.hash //       Sets or retrieves the subsection of the href property that follows the number sign (#). 
var host = self.location.host   //    Sets or retrieves the hostname and port number of the location or URL. 
var hostname = self.location.hostname //  Sets or retrieves the host name part of the location or URL.  
var href = self.location.href     //  Sets or retrieves the entire URL as a string.  
var pathname = self.location.pathname //  Sets or retrieves the path and file name associated with a URL.    
var port = self.location.port     //  Sets or retrieves the port number associated with a URL. 
var protocol = self.location.protocol //  Sets or retrieves the protocol portion of a URL.  

alert('hash: ' + hash + '\n' + 
   'host: ' + host + '\n' + 
   'hostname: ' + hostname + '\n' + 
   'href: ' + href + '\n' + 
   'pathname: ' + pathname + '\n' + 
   'port: ' + port + '\n' + 
   'protocol: ' + protocol);

Приведенный выше JavaScript возвращает это:

hash: #panel-1
host: localhost:8090
hostname: localhost
href: http://localhost:8090/joomla/#panel-1
pathname: /joomla/
port: 8090
protocol: http

Сайт Joomla будет работать на многих браузерах, платформах и устройствах. Будет ли вышеуказанный код JS работать хорошо для этих сценариев или лучше использовать PHP для извлечения путей к серверу? Спасибо.

Ответы [ 2 ]

3 голосов
/ 08 февраля 2011

Используйте PHP.Вы не можете надежно получить пути к серверу, используя сценарии на стороне клиента: например, используя mod_rewrite в Apache, можно изменить отношение URL-адресов к (локальным) путям сервера.

0 голосов
/ 08 февраля 2011

Серверная часть (PHP) работает лучше, потому что, если клиент отключает JavaScript.Конечно, не говоря уже о перезаписи сервера и т. Д.

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