Маскировка URL в JavaScript

В настоящее время у меня есть следующая функция JavaScript, которая берет текущий URL-адрес и объединяет его с URL-адресом другого сайта, чтобы направить его в соответствующую группу обратной связи:

function sendFeedback() {
    url = window.location.href;
    newwin = window.open('http://www.anothersite.com/home/feedback/?s=' + url, 'Feedback');
}

Не уверен, что это правильная терминология, но я хочу замаскировать URL-адрес в операторе window.open, чтобы использовать URL-адрес из текущего окна.

Как я могу замаскировать URL-адрес window.open оригиналом в JavaScript?


person Michael Kniskern    schedule 18.10.2010    source источник
comment
@Assaf — вместо отображения anothersite.com/home/feedback/? s=www.mysite.com в новой адресной строке браузера я хочу отобразить www.mysite.com.   -  person Michael Kniskern    schedule 19.10.2010
comment
Насколько я понимаю, вы не можете манипулировать адресной строкой окна браузера.   -  person Šime Vidas    schedule 19.10.2010


Ответы (2)


Что вы можете сделать:

1- Замаскируйте внешний сайт в html-рамке внутри документа с вашего сайта. (например, www.mysite.com/shortUrl/)

2-Отправьте HTTP-заголовок Location (в конечном итоге будет отображаться реальный URL-адрес)

Имейте в виду, что браузеры делают все возможное, чтобы показать реальный адрес из-за опасений фишинга.

person Ed.C    schedule 18.10.2010
comment
Спасибо за отзыв. Я искал быстрое и грязное решение в JavaScript, но похоже, что это больше работы, чем я действительно хочу в нее вложить. - person Michael Kniskern; 19.10.2010

Я бы не использовал javascript, если бы хотел скрыть URL-адрес, даже если бы он работал с javascript. Вы бы не получили много преимуществ в этом сценарии.

Причина проста:

  • javascript/jQuery = функции принадлежат клиентской стороне (браузер/ваш ПК/DOM)

  • ссылки, URL, http и заголовки = функции принадлежат Apache.

Apache всегда находится на верхнем уровне над клиентской частью. Всякий раз, когда запускается ссылка на SampeLink.html, Apache просыпается и читает файл, но ссылки/URL-адреса уже принадлежат до того, как javascript может их заявить. Таким образом, бессмысленно пытаться манипулировать ссылками в своих javascript-скриптах, даже если это работает, но слабо.

Я бы указал вам на этот замечательный подход: .htaccess, и вы удивитесь, насколько он мощный. Если .htaccess присутствует в родительской папке SampleLink.html, Apache запрещает движку DOM (вашему браузеру) читать файлы до тех пор, пока Apache не завершит чтение .htaccess.

В вашем сценарии .htaccess может выполнять некоторую работу за вас, переписывая ссылки и отправляя «приманочные» ссылки в механизм DOM, сохраняя при этом исходные ссылки/URL-адреса за занавесом; и посетители попадут на страницу 404, если попытаются сломать приложение или что-то еще, что вас беспокоит.

Это немного сложно, но это никогда не переставало меня подводить. Я использую это как свою «библию» http://corz.org/serv/tricks/htaccess2.php .

person Faron    schedule 20.04.2013