다른 사이트에 대한 로그인 자격 증명을 묻는 웹 사이트가 있습니다. 이 사이트는 내 서버 외부에 있습니다. craigslist.com과 같은 것. 사용자가 자신의 사용자 이름과 암호를 알려 주면이 자격 증명이 해당 사이트에 유효한지 확인할 수 있기를 원합니다. 그렇지 않으면 외부 사이트에 대한 자격 증명을 잘못 입력했음을 사용자에게 알리고 자합니다. 이 일을 할 수있는 방법이 있습니까? 나는 해결책이 asp.net (vb.net/aspx)에 있으면 좋겠지 만 다른 언어들과 함께 일할 의지가있다. 내가해야만한다면 의사 소통을 할 수있는 방법을 찾을거야.외부 사이트의 로그인 자격 증명 확인
0
A
답변
0
물론입니다. 빠른주의 사항 : 사용자가 제공하는 이러한 비밀을 보호하기 위해 좋은 보안 모델을 사용해야합니다. 이는 복잡하고 복잡한 주제입니다. 데이터가 저장소에있는 앱에 의해 암호화되기를 바라지 만 응용 프로그램은 이것을 일반 텍스트로 해독 할 수 있으므로 자격 증명을 저장할 책임이 있습니다. 따라서 응용 프로그램에 책임이 있습니다. 원격 웹 사이트에서 서비스 약관을 위반하지 않았는지 확인할 수도 있습니다.
하지만이 질문에 대해서는 기본적으로 다른 사이트에서 사용자가 수동으로 로그인하도록 웹 요청을 여는 코드가 필요합니다. 사용자 대신 사용자의 .NET 코드에서 원격 서버의 로그인 양식을 POST합니다. 코드를 작성하기위한 전략 :
- 당신이 알려진 좋은 자격 증명을 사용하여 웹 브라우저에서 수동으로 원격 사이트에 해당 로그인 양식을 게시 할 때 브라우저에 의해 전송되는 웹 트래픽을 검사하는 Fiddler 같은 도구를 사용합니다.
- 유효한 요청에 어떤 입력란을 게시해야하는지 확인하고 요청할 수있는 특수 요구 사항에주의를 기울이십시오 (프로그래밍 방식 요청을 실제 브라우저 요청과 정확히 일치 시키려면 최선을 다하십시오).
- 동일한 헤더를 모두 전달하십시오 Accept, Referer, Cookies (여분의 신용을 위해 ... POST를하기 전에 초기 설정 요청으로 설정해야하는 설정된 세션 쿠키를 찾고있을 수도 있음) 등과 같은 필드를 모두 포함해야합니다. 브라우저가 게시 할 POST ... 브라우저가 게시하는 숨겨진 필드와 모든 요청 관련 필드를주의해야합니다 (서버에 유효한 GET 요청을 작성한 후 POST - 페이로드를 보내려는 요청) 일부 양식은 표시를 설정하여 봇의 예방을받습니다 : 필드에 아무 것도 표시하지 않습니다. 수동 사용자 로그인은하지 않습니다 (Fiddler에서 볼 수 있듯이).
- 그런 다음 올바른 로그인이 성공한 후 어떤 응답이 표시되는지 확인하십시오.
- "성공"페이지에서 로그인 성공 여부를 확인할 수있는 확실한 정보를 찾으십시오. 예를 들어 '성공 마커'역할을하는 특정 문자열/HTML 스 니펫을 검색 할 수 있습니다. 응답 코드, 발생하는 리디렉션 등과 같은 HTTP 응답의 다른 특성을 사용할 수도 있습니다. 모두 성공적인 로그인과 실패한 로그인 이후의 원격 서버 작동 방식에 따라 다릅니다.
- 원격 웹 사이트는 언제든지 HTML 형식을 변경할 수 있으므로 논리가 손상 될 수 있습니다. 따라서 그러한 가정을 할 수 있다면 가장 쉽게 파산 할 수있는 전략을 선택하십시오.
- 이 가능성을 계획하는 데있어 가장 좋은 점은 예약 된 기준에 따라 실행되는 "모니터"프로그램을 작성하여 성공적인 로그인을 결정하는 데 사용하는 논리를 테스트한다는 것입니다.
- 클래스 라이브러리에서이 작업을 수행하는 코드를 캡슐화하여 ASP.Net 앱과 모니터 프로그램이 모두이를 공유 할 수 있도록하십시오.
- 모니터 프로그램에 경고 메시지를 보내주십시오 (예 :이메일)에 로그인 할 수 없거나 원격 사이트에서 로그인 성공을 해석 할 수없는 경우. 이렇게하면 사용자가 알아 차리기 전에 즉시 수정 작업을 시작할 수 있습니다.
- 모니터 응용 프로그램을 Windows 서비스로 호스트하거나 가능하지 않은 경우 작업 스케줄러에서 실행되는 콘솔 응용 프로그램을 호스트합니다.
- 원격 웹 사이트를 예의 주시하고 가능하면 하루에 1-2 번만 모니터를 실행하십시오. 프로젝트 요구 사항에 따라 문제에 대응할 충분한 시간이 될 수 있습니다.
는 .NET 프레임 워크에서 찾고있는 클래스는 HttpWebRequest
입니다. 다음은 코드를 시작할 수 있습니다 몇 가지 예입니다 : 내가 제대로 이해한다면
관련 문제
- 1. 로컬 저장소에서 로그인 자격 증명 확인 Sencha
- 2. 사용자 자격 증명 확인
- 3. django에서 사용자 자격 증명 확인
- 4. WebRequest로 로그인 자격 증명 포함
- 5. 데이터 저장시 자격 증명 확인
- 6. 로그인 자격 증명 저장 Xcode
- 7. Windows 시스템 로그인 자격 증명
- 8. Windows 시스템 로그인 자격 증명
- 9. GitHub 자격 증명 유효성 확인
- 10. 다른 웹 사이트의 자격 증명을 사용하는 로그인 자격 증명, 동기화 된 로그인
- 11. ASP.net 웹 사이트의 인증을위한 Gmail 자격 증명
- 12. 로그인 NSURL을 사용하여 자격 증명 문제가 발생했습니다.
- 13. Authlogic and Android, 사용자 자격 증명 확인
- 14. 자격 증명
- 15. Exchange Server 로그인 자격 증명 설정
- 16. SSL을 사용하지 않는 안전한 로그인 자격 증명
- 17. 로그인 자격 증명 검사 웹 서비스
- 18. 로그인 자격 증명 대 URL로 이동
- 19. LWP :: UserAgent 및 로그인 자격 증명
- 20. oracle express sytem 잘못된 로그인 자격 증명
- 21. 바이 패스하려면 JasperReports 서버의 로그인 자격 증명
- 22. 기본 WSO2 ESB 서버 로그인 자격 증명?
- 23. WCF의 사용자간에 로그인 자격 증명 공유 방지
- 24. C# SQL Server 로그인 자격 증명
- 25. 명령 줄에서 도메인 자격 증명 확인
- 26. Powershell 로컬 관리자 자격 증명 확인
- 27. 유닉스에서 Java의 SSH 자격 증명 확인
- 28. 익스프레스 "BasicAuth"와 자격 증명 비동기 확인
- 29. Zend_Auth 여러 자격 증명?
- 30. IIS 사용자 자격 증명
그래서 내가 하나를 에뮬레이트하는 요청을 통해 사용자 정의 HTTP 헤더를 통과해야 그 웹 페이지에서 브라우저에 의해 전송됩니다. 그런 다음 원격 서버에서 보낸 응답이 성공했음을 나타내는 내용을 구문 분석합니다. 나는 그런 식으로 생각하지 않았을 것입니다. 나는 TOS 물건에 대해 100 % 확신하지는 않는다. 그러나 내가 거기에 도착할 때 나는 그 다리를 건너 뛸 것이다. 내 필요를 충족시키기 위해 충분히 작업 할 수있는 충분한 솔루션을 제공 한 것에 대한 신뢰를 줘야합니다. 브라보. – Vikk
예, 확장하여 여러 HTTP 헤더와 HTTP 요청 본문을 설정한다고 가정합니다. 프로그래밍 방식 웹 요청이 브라우저를 통한 수동 웹 요청과 똑같이 보이기를 원합니다. HttpWebRequest 클래스는 HTTP 헤더와 본문을 제어하기 위해 다양한 속성 등을 설정하여이 작업을 수행하게합니다. 피들러를 사용하여 차이점이 제거 될 때까지 수동 요청과 프로그래밍 방식의 요청을 비교하면 잘 될 것입니다. 원격 웹 사이트의 아키텍처로 인해 두 가지 이유가있을 수 있습니다. 그런 다음이를 통합하십시오. –