Wykonuję wiele projektów, które polegają na automatycznym przesyłaniu formularzy i/lub pobieraniu danych ze stron internetowych. Niektóre z tych witryn wymagają uwierzytelnienia użytkownika/hasła. (Miejsca te nie mają API, więc jestem powołując się na skrobanie ekranu.)Czy mogę programowo logować się na stronie internetowej bez zapisywania hasła w postaci zwykłego tekstu?
Większość tutoriali widziałem przechowywać nazwy użytkownika i hasła w kodzie źródłowym jak wszelkie inne dane Post, np
string username = "someUserName";
string password = "somePassword";
// submit POST data...
Ale wiem, że przechowywanie haseł w postaci zwykłego tekstu jest ogólnie mile widziane. Czy istnieje alternatywna metoda, której powinienem użyć?
To jednak nie jest szyfrowanie. Jeśli skrypt może uzyskać hasło w postaci zwykłego tekstu, to każdy może mieć uprawnienia do jego uruchomienia. – pguardiario
Nie można tak naprawdę dyskutować z szyfrowaniem. Jeśli jest zaszyfrowany, jest zaszyfrowany. Chodzi mi o to, że jesteś w stanie oddzielić hasła od kodu i przechowując je (zaszyfrowane) w bazie danych, udostępnia je tylko za pomocą hasła głównego. W jaki sposób OP decyduje się obsłużyć hasło główne, zależy wyłącznie od niego. Na przykład. monitowanie użytkownika o hasło główne podczas uruchamiania zapobiega nieautoryzowanemu dostępowi do haseł. Oczywiście "każdy, kto ma uprawnienia do jego uruchamiania", może, ale to nie oznacza dostępu do haseł. – jurgemaister
Hmm, pytanie o hasło jest w porządku, ale pytanie brzmi, jak przechowywać hasła. Używanie "hasła głównego" naprawdę tylko dodaje niepotrzebnego poziomu złożoności, a jeśli chodzi o szyfrowanie ... nie widzę, jaką ochronę masz zamiar uzyskać z programu rot13 lub innego używanego schematu odwracalnego. Jeśli mogę uruchomić skrypt, widzę hasło. – pguardiario