웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
외부페이지에서 로그인 폼 구현하기
2013.09.09 06:31
많은 분들이 알고 계시는 팁이지만 한번 적어봅니다. PHP 없이도 할 수 있습니다.
<HTML>
<html> <head> </head> <body> <form action="http://사이트주소/?mid=모듈아이디?act=procMemberLogin" method="post"> 아이디: <input type="text" name="user_id" required="required"><br> 비밀번호: <input type="password" name="password" required="required"><br> <input type="submit" value="Submit"> </form> </body> </html>
'모듈아이디' 부분은 지정하지 않아도 상관없지만 로그인 후 그 페이지로 이동합니다.
단, 로그인 여부를 확인하여 특정 액션을 수행하게 하려면 PHP를 사용해야 합니다.
<VB(Visual Basic)> - 이건 EXE 파일을 만들 때 쓰이는 것입니다.
일단, C:\Windows\System32\WinHttp.dll 참조를 추가하고 원하는 부분에다가 이 코드를 넣습니다.
참고로 TextBox1 은 아이디, TextBox2는 비밀번호입니다.
Dim loginvar As New WinHttp.WinHttpRequest If TextBox1.Text.Trim() = "" Or TextBox2.Text.Trim() = "" Then MsgBox("아이디와 비밀번호를 입력하세요.", MsgBoxStyle.Exclamation, "로그인 오류") TextBox2.Text = "" TextBox1.Focus() Else loginvar.Open("POST", "http://사이트주소/index.php?mid=login_test&act=procMemberLogin") loginvar.SetRequestHeader("Referer", "http://사이트주소/?act=dispMemberLoginForm") loginvar.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8") loginvar.Send("user_id=" & TextBox1.Text & "&password=" & TextBox2.Text) loginvar.Send("user_id=" & TextBox1.Text & "&password=" & TextBox2.Text) If InStr(System.Text.Encoding.UTF8.GetString(loginvar.ResponseBody), "특정문자열") Then MsgBox("로그인 성공", MsgBoxStyle.Exclamation) Else MsgBox("아이디와 비밀번호가 올바르지 않습니다.", MsgBoxStyle.Exclamation, "로그인 오류") TextBox2.Text = "" TextBox1.Focus() End If End If
이 방법을 이용하려면 login_test라는 mid를 만들고 접근 권한을 회원으로 한 뒤 특정 문자열을 집어넣어야 합니다.
그리고 이 방법은 로그인 뒤 특정 액션을 수행할 수 있습니다.