Tôi đã xem các câu hỏi sau đây ở đây trên stackoverflow mà không có may mắn trong những gì im đang cố gắng làm.Gửi tiêu đề ủy quyền với jquery và ajax
Ajax Authorization Request headers fails again and again
jQuery Ajax Unauthorized 401 Error
Sending credentials with cross-domain posts?
Đây là mã của tôi mà tôi hiện có:
$(document).ready(function() {
$.ajax({
url: 'http://sample.domain.com/script.php?name1=value1&jsonp=?',
type: 'GET',
dataType: 'json',
contentType: "application/json",
beforeSend: function(xhr) {
xhr.setRequestHeader("Authentication", "Basic ZnJvbWFwcGx********uOnRoM24zcmQ1UmgzcjM=") //Some characters have been replaced for security but this is a true BASE64 of "username:password"
},
success: function(data){
alert(data);
}
});
});
</script>
Các tên miền phụ tôi có là mật khẩu bảo vệ bởi một tập tin htpasswd. Việc đăng nhập của trang web hoạt động tốt cho tôi bằng cách sử dụng tên người dùng/mật khẩu kết hợp được sử dụng trong mã hóa base64.
Im chạy tập lệnh này trên một tên miền khác với tên miền mà url là lý do tại sao tôi có jsonp =? trong url
Các im phản ứng nhận được từ giao diện điều khiển trong trình duyệt là: GET http://sample.domain.com/script.php?name1=value1&jsonp=jsonp1334177732136 401 (Authorization Required)
Tại sao bạn đang sử dụng auth cơ bản ở đây? JS của bạn sẽ trưng ra mật khẩu base64'd cho thế giới, vì vậy nó sẽ không cung cấp bất kỳ bảo mật nào. Hay tôi đã hiểu lầm tình hình của bạn? – jimw
Thành thật mà nói, mọi phương pháp đều không an toàn thông qua HTTP. Đó là lý do tại sao HTTPS tồn tại. – freakish
Bảo mật ở đây không phải là câu hỏi. Đây chỉ là một mẫu của những gì tôi có. Ive kéo cái này xuống cơ bản để thử và làm một cái gì đó để làm việc. Sau khi tôi đã làm việc cơ bản, Ill làm cho nó an toàn. – bretterer