웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
외부프로그램에서 제로보드 xe 및 그누보드 회원 연동(로그인) 하기 - 초간단
2010.02.03 01:24
제로보드와 마찬가지로 url로 로그인 하는 방법이다.
http://www.hanistory.com/?mid=logincheck&user_id=아이디&password=패스워드&act=procMemberLogin
해당 주소로 접속하면 id/pw 가 맞을경우 "SUCCESS"를 표기한다.
이를 읽어오면 로그인 유무를 판단할수 있고
해당 모듈의 로그인 위젯에 회원정보가 표기되게 설정하면 회원정보까지 긁어올수 있다.
VB6.0 이라면 Inet 컨트롤이나 Wininet.dll 을 사용하여
위주소로 웹페이지 내용을 읽어 오면 된다.
닷넷으로는 WebRequest를 이용해 웹페이지를 읽어왔다.
Public Function GetUrl("ByVal sUrl As String) As String
'+
'//서버인증
On Error GoTo ErrorMsg
Dim myHttpWebRequest As HttpWebRequest = CType(WebRequest.Create(sUrl), HttpWebRequest)
Dim myHttpWebResponse As HttpWebResponse = CType(myHttpWebRequest.GetResponse(), HttpWebResponse)
Dim receiveStream As Stream = myHttpWebResponse.GetResponseStream()
Dim encode As Encoding = System.Text.Encoding.GetEncoding("UTF-8")
Dim readStream As New StreamReader(receiveStream, encode)
Dim read(256) As [Char]
Dim count As Integer = readStream.Read(read, 0, 256)
GetUrl = ""
'+
'Dim strHtml As String = ""
While count > 0
Dim str As New [String](read, 0, count)
GetUrl &= str
count = readStream.Read(read, 0, 256)
End While
'readStream.Close()
'myHttpWebResponse.Close()
Return GetUrl
ErrorMsg:
MsgBox("서버연결에 실패했습니다.")
End
End Function
'로그인 폼에서 Geturl() 호출
Private Sub OK_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
'xe(로그인)
Dim LoginUrl1 As String = "http://www.홈페이지.com/?mid=loguncheck"
Dim LoginUrl2 As String = "&user_id=" + Username.Text + "&password=" + Password.Text
Dim LoginUrl3 As String = "&act=procMemberLogin"
'그누보드 로그인
'http://www.hanistory.com/g4/bbs/login_check.php?_POST[mb_id]=UserId&_POST[mb_password]=Password
'Dim LoginUrl1 As String = "http://www.홈페이지.com/bbs/login_check.php?"
'Dim LoginUrl2 As String = "_POST[mb_id]=" + Username.Text + "&_POST[mb_password]=" + Password.Text
'Dim LoginUrl3 As String = "&url=success"
Dim LoginUrl As String = LoginUrl1 + LoginUrl2 + LoginUrl3
Dim UrlSource As String = GetUrl("LoginUrl)
'Debug.Print(LoginUrl)
'Debug.Print(GetUrl("LoginUrl)
If InStr(UrlSource, "success") Then
'xe()
Dim MemLevel As Integer = Val(Mid(UrlSource, InStr(UrlSource, "<dt>Level. ") + 11, 2))
'그누보드
'Dim MemLevel As String = GetUrl("LoginUrl1 + LoginUrl2 & "&url=index.php")
'Debug.Print("레벨" & MemLevel)
If MemLevel >= 0 Then
LogInCheck = True
Me.Hide()
frmMain.Show()
Else
MsgBox("사용권한이 없습니다.")
LogInCheck = False
End
End If
UserID = Username.Text
UserPW = Password.Text
Else
MsgBox("사용자가 없거나 지정한 암호가 다릅니다.", , "로그인")
Password.Select()
SendKeys.Send("{Home}+{End}")
End If
End Sub
잘 안된다는 그누보드도 이방법으로 먹힌다.
단 그누보드는 루트의 common.php 의 아래부분을 주석처리 해야됨.
//=================================================================
// extract($_GET); 명령으로 인해 page.php?_POST[var1]=data1&_POST[var2]=data2 와 같은 코드가 _POST 변수로 사용되는 것을 막음
// 081029 : letsgolee 님께서 도움 주셨습니다.
//------------------------------------------------------------------------------------------------------------------
$ext_arr = array ('PHP_SELF', '_ENV', '_GET', '_POST', '_FILES', '_SERVER', '_COOKIE', '_SESSION', '_REQUEST',
'HTTP_ENV_VARS', 'HTTP_GET_VARS', '+ 'HTTP_POST_VARS', 'HTTP_POST_FILES', 'HTTP_SERVER_VARS',
'HTTP_COOKIE_VARS', 'HTTP_SESSION_VARS', 'GLOBALS');
$ext_cnt = count($ext_arr);
/*for ($i=0; $i<$ext_cnt; $i++) {
// GET 으로 선언된 전역변수가 있다면 unset() 시킴
//if (isset($_GET[$ext_arr[$i]])) unset($_GET[$ext_arr[$i]]);
}*/
//=================================================================
| 제목 | 글쓴이 | 날짜 |
|---|---|---|
| XE 1.2.1에서 xe_default 게시판 스킨 사용시 IE에서 글입력폼이 안보일 때 [2] | 현의느낌 | 2009.04.28 |
| 글읽기에서 글쓴이의 닉네임을 이름으로 변경하기 | 하얀마법 | 2010.10.29 |
|
zbXE에 퍼머링크 달기
[3]
| 라르게덴 | 2008.03.13 |
| 숫자 아이디 사용법 [6] | Slick | 2008.01.10 |
| 리눅스에서 제로보드 xe를 위한 환경 구축하기 [6] | 써니a | 2007.08.18 |
|
메인 페이지 수정이 안되는 경우
| nurungso | 2010.11.07 |
|
새로운 채팅 서비스 웹톡!
[3]
| 명랑폐인™ | 2010.12.06 |
| 어느게시판이든 모두 적용이 가능한 그림판입니다.^^ [1] | web | 2010.12.07 |
| [허접팁] 파일첨부가 안됩니다 [1] | 클럽다이 | 2009.05.23 |
|
클릭마다 조회수 올리기 [1.4.0]
[12]
| 지B | 2009.04.04 |
| 레이아웃 편집, 게시판 상/하단 내용에 위젯 스타일 적용하기 [2] | LutZ | 2010.09.12 |
| 새글 (댓글) 작성후 자동으로 이메일 보내질때 작성자 서명을 붙이는법 [1] | 왕초봉 | 2010.04.10 |
| 외부프로그램에서 제로보드 xe 및 그누보드 회원 연동(로그인) 하기 - 초간단 [1] | 한이73 | 2010.02.03 |
| [생초보팁] 페이지 내용 줄간격 css | 에혀라X | 2010.11.30 |
|
파일 첨부할때 HTTP Error 메세지 창이 뜨면서 첨부되지 않을때 해결방법
[1]
| DuRi | 2010.11.22 |
| 개인 홈페이지에서 아주 손쉽게 배경음악을 깔아놓는 법 [5] | 지녁 | 2010.11.25 |
|
[생초보팁] 서브메뉴 배경이미지 활용하기
[4]
| 에혀라X | 2010.11.24 |
| XE 일일이 메뉴출력하지 말고 XE함수들로 한번에 처리하세요! [1] | 소렌트. | 2010.04.11 |
| xe 파일첨부 시 증발하는 현상 해결 팁 [5] | iwishiwas.idtail.com | 2009.07.28 |
| 제로보드에서 아이프레임(iframe) 높이 자동조절(파폭,IE, 모두 작동) [10] | HaruKaze | 2009.03.17 |
홈페이지
그누보드와 XE 포인트 연동할수없나요?