2009-07-07 13 views
7

Część naszej witryny jest chroniona hasłem .htaccess w celu ochrony hasłem. Podczas próby uzyskania dostępu do tego obszaru strony internetowej przeglądarka wyświetla okno dialogowe z pytaniem o nazwę użytkownika i hasło.Jak programowo uzyskać dostęp do witryny chronionej hasłem?

Potrzebuję uzyskać dostęp do tego programowo (np. Z wywołaniem ajax). W jaki sposób serwer informuje mnie, że potrzebuje hasła i jak je dostarczyć?

Odpowiedz

3

Ogólnie http://user:[email protected]

Ale istnieją pewne oczywiste braki zabezpieczeń z tym.

Bardziej kompletnym rozwiązaniem może być ustawienie zmiennej Session po uwierzytelnieniu użytkownika.

Utwórz wpis AJAX do skryptu sprawdzającego uwierzytelnianie. Jeśli jest uwierzytelniony, użyj CURL, aby pobrać wyniki przy użyciu predefiniowanego autoryzowanego konta.

Pozwala to na ponowne użycie podstawowego uwierzytelniania apache, ale zapobiega zapisywaniu jakichkolwiek haseł w DOM.

+0

Strona, o której mowa, to https, co, jak sądzę, zredukuje kwestie bezpieczeństwa. Czy adres URL przekazany do serwera zaszyfrowanego w sesji https - zakładam, że jest ...? –

+1

jeszcze lepiej httpS: // user: [email protected] – KevinDTimm

+0

Adres URL powinien być bezpieczny, ale nadal piszesz użytkownika/przechodzisz w prawo w zwykłej witrynie jako część href. Nawet jeśli u/p nie może zostać ostrzelany podczas transportu, wciąż istnieją pewne problemy. – rooskie

2

ten nie jest oczywiście Ajax, ale z wget klienta można użyć --http użytkowników i --http-password flagi

4

jQuery obsługuje uwierzytelnianie HTTP z ich ajax() metody. Coś jak to powinno działać:

jQuery.ajax({ 
    type: "GET", 
    url: "foo.php", 
    username: "foo", 
    password: "bar" 
}); 

Dokumentacja wszystkich opcji jQuery.ajax() można znaleźć tutaj: http://docs.jquery.com/Ajax/jQuery.ajax#options

Powiązane problemy