2015-02-06 2 views
0

Я хочу ссылку на страницу, и когда пользователь нажимает на ссылку, его имя пользователя и пароль уже есть для него (куча пользователей будет иметь одни и те же учетные данные). Однако, когда я тоже связываюсь, я не контролирую этот код страниц.Можете ли вы загрузить или выполнить Javascript на странице, на которую вы ссылаетесь?

Возможно ли, чтобы мой javascript выполнялся там после того, как пользователь нажмет на ссылку?

$("#link").click(function() { 
alert("Handler for .click() called."); 
var username = getCookie("username"); 
    var password = getCookie("password"); 
    var usernameTextBox = document.getElementById("j_username"); 
    var passwordTextBox = document.getElementById("j_password"); 
    usernameTextBox.value = username; 
    passwordTextBox.value = password; 
}); 

See my JSfiddle

так вот рабочий процесс. 1. куча случайных пользователей видят мою страницу, где загружается мой javascript, и они нажимают ссылку 2. ссылка приводит их на другую страницу, где я не контролирую код. Могу ли я иметь javascript со страницы на шаге 1, который все еще выполняется для автоматического заполнения имени пользователя и пароля?

Я так думаю, потому что вы можете сделать кучу вредоносных вещей с этим возможным (план резервного копирования должен просто отображать имя пользователя и учетные данные под ссылкой, и им нужно будет запомнить его для входа (или отображения его в iframe)).

Есть ли в браузере, где возможно включить этот скриптовый скрипт, но только для этой страницы?

+1

Нет, вы не можете управлять другой страницей по ссылке. Одинаковая политика происхождения – epascarello

+0

Попробуйте Googling XSS. – j08691

+0

спасибо, я понял, что это будет функция безопасности браузера –

ответ

3

Вы можете отправить форму со своей страницы на другое действие на другой сервер. Это полностью обходит форму входа на целевом сервере

$("#link").click(function() { 
    var username = getCookie("username"); 
    var password = getCookie("password"); 
    $("<form action='https://simcontrolcenter.wireless.att.com/provision/j_acegi_security_check' method='POST'>" + 
    "<input name='j_username' value='" + username + "'/>" + 
    "<input name='j_password' value='" + password +"'/>" + 
    "</form>" 
).submit() 
+0

действительно крутая идея спасибо! –

Смежные вопросы