2010-10-19 3 views
7

Я работаю над проектом, который требует от меня POST некоторых данных на URL-адрес, для которого требуется имя пользователя и пароль для доступа. Как создать URL-адрес, чтобы он автоматически входил в систему?POST для защиты паролем URL?

$.ajax({ 
    url: "https://xxxxxxx", 
    type: "POST", 
    data: "___PUT_BODY___="+file+"&file="+time, 
}) 
+1

Использует ли он обычную HTTP-аутентификацию или что-то обычное и основанное на HTML? – lonesomeday

ответ

6

Если страница использует «Basic» аутентификации HTTP (вид, где браузер открывает небольшое диалоговое окно с запросом имени пользователя и пароля), вы можете просто сделать:

https://username:[email protected]/ 

Если сайт имеет регистрационную форму, встроенную на страницу где-то, тогда данные входа не попадают в URL-адрес. Вам нужно будет симулировать отправку этой формы (создавая аналогичный запрос AJAX специально для входа в систему).

+0

Я согласен с votey, но мои 2 цента - это то, что я стараюсь использовать пользовательские локауты для своих защищенных страниц и использовать уникальные токены для предоставления необходимого доступа. Поэтому мой пост будет иметь данные как {file: file, token: token}, где url - это обход блокировки, который проверяет токен и ссылающийся сайт для проверки доступа. Звучит сложно, но это не так. Вы можете сделать это с помощью основных сеансов и формы входа в систему. Может быть, 20 минут, чтобы настроить. –

+0

«Если сервер выполняет HTTP-аутентификацию перед предоставлением ответа, пару имени пользователя и пароля можно отправить с помощью параметров имени пользователя и пароля». – Incognito

2

Read the funny manual

Кроме того, не делает строку запроса, как она выходит в строке URI, сделать его объектом. Кроме того, в конце этого утверждения находится точка с запятой.

$.ajax({ 
    url: "https://example.com", 
    type: "POST", 
    data: { 
      "___PUT_BODY___=" : file, 
      "&file="   : time 
      }, 
    password : "theP4s$w0rD!", 
    username : "Bob's big bad world of HTTP Auth" 

}); 
0

Если страница отправки из является открытым, в случае, если имя пользователя/пароль должны оставаться закрытыми, вы должны пересмотреть наложив свое имя пользователя/пароль в странице.

Вы можете публиковать на локальной странице своего сервера, которая, в свою очередь, может отправлять данные, например, с помощью curl на принимающий сервер.

Также, используя curl, вы можете выполнить любую проверку подлинности, в которой вы нуждаетесь.

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