[비베] 개인호스팅없이 Pastebin을 이용한 간단한 하드인증처리
컨텐츠 정보
- 1,650 조회
본문
보안보단 간편성과 편의성에 중심을 둔글입니다 여기선 완전히 기초적인 하드인증만을 다루기 때문에 보안관련해서는 다른분들 강좌와 같이 사용하시면 더 좋을거 같네요
강좌를 몇번써본적이 없어서 많이 서툴어요
pastebin이 뭔지 모르는사람들을 위해 한번 설명을 하자면.인터넷에 올릴수있는 메모장같은겁니다 얼마든지 저장이 가능하고
무료호스팅같은걸 받았을때 트래픽이 초과하거나 그럴일이 없죠
외국사람들이 소스를 올려놓고 링크를 거는데도 많이 사용합니다
우선
에 가서 회원가입이 안되있다면 회원가입을 해줍니다,
간단한 구글 회원가입을 추천드려요
로그인을 하셨으면 상단의
를 눌러서 새글을 써주시고요,
내용이나 제목은 알아서 하시길 바랍니다
글을쓴후, raw란 버튼을 누르면 나오는 주소를 미리 복사해둡니다
저같은 경우에는
http://pastebin.com/raw/2NJUWHzP
네요
이제 소스코드에 가서 작성해줍시다
참조 - 구성 Microsoft Winhttp머시기도 참조해주시구요
리스트박스를 하나 만듭니다
1 2 3 4 5 6 |
Dim w as new Winhttp Request '맨윗줄에 선언 w.Open "GET", 아까전 기억한주소 '아까전 기억한주소의 웹소스 GET w.Send 'Send 합니다 For i = 0 To UBound(Split(w.ResponseText, vbCrLf)) '줄바뀌는 부분을 모두자르고 Ubound로 최대값을 구한다 List1.AddItem Split(w.ResponseText, vbCrLf)(i) Next i |
CodeHighligher |
이런식으로 작성해주시면 먼저 GET을 이용해 내용을 가져오고,
For 반복문을 선언합니다, Ubound로 몇줄까진지 반복할 최대수를 구하고
리스트박스에 w.ResponseText(가져온내용)을 Split함수로 한줄씩 짤라서 For 반복문만큼 반복해줍니다
그러면 한줄씩 리스트박스에 추가가되었겠죠
이제 불러와지는것을 알았네요
하드인증 번호를 가져와봅시다
소스 밑부분에
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
Public Function GetDriveSerialNumber(Optional ByVal DriveLetter As String) As Long Dim fso As Object, Drv As Object Set fso = CreateObject("Scripting.FileSystemObject") If DriveLetter <> "" Then Set Drv = fso.GetDrive(DriveLetter) Else Set Drv = fso.GetDrive(fso.GetDriveName(App.Path)) End If With Drv If .IsReady Then DriveSerial = Abs(.SerialNumber) Else DriveSerial = -1 End If End With Set Drv = Nothing Set fso = Nothing GetDriveSerialNumber = DriveSerial End Function |
CodeHighligher |
추가해주시고, 라벨을 하나만드신뒤
폼로드부분에 Label1.Caption = GetDriveSerialNumber
을 해주시면
하드 고유번호 또한 불러와졌네요
이 함수는
http://cafe.naver.com/gogoomas/237061
이곳을 참조했습니다
이제 Pastebin에가서 Edit을 눌러서 원래적었던 내용은 지우고 보이는 하드번호를 적어줍시다
리스트박스 Add부분은 이제 주석 처리를 해주시고 아래와 같이 작성합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Dim w as new Winhttp Request '맨윗줄에 선언 Label1.Caption = GetDriveSerialNumber w.Open "GET", "http://pastebin.com/raw/2NJUWHzP" '주소열기 w.Send 'Send For i = 0 To UBound(Split(w.ResponseText, vbCrLf)) '줄바뀌는 부분을 모두자르고 Ubound로 최대값을 구한다 If Split(w.ResponseText, vbCrLf)(i) = GetDriveSerialNumber Then '만약 Pastebin의 내용과 자신의 하드번호가 일치할경우 MsgBox "인증에 성공하였습니다", vbInformation, "알림" Else '아닐경우 MsgBox "인증에 실패하셨습니다" End If Next i |
CodeHighligher |
++ 수정합니다 저윗대로하면내용에 쓸데없는내용갯수만큼
실패,성공 이런식으로 뜰건데 아무도 말을안했네요..
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
w.Open "GET", "http://pastebin.com/raw/2NJUWHzP" '주소열기 w.Send 'Send Dim Line Line = UBound(Split(w.ResponseText, vbCrLf)) Dim Read As Integer Read = 0 For i = 0 To UBound(Split(w.ResponseText, vbCrLf)) '줄바뀌는 부분을 모두자르고 Ubound로 최대값을 구한다 read = read + 1 If Split(w.ResponseText, vbCrLf)(i) = GetDriveSerialNumber Then '만약 Pastebin의 내용과 자신의 하드번호가 일치할경우 MsgBox "인증에 성공하였습니다", vbInformation, "알림" End If Next i If Read = Line Then MsgBox("인증실패") End If |
CodeHighlighter |
요렇게 ㄱㄱ합시다
하드번호1
하드번호 2
형식으로 작성해주시면되요 인증에 성공하였습니다 라고 나오면 하드인증에 성공하신겁니다아무튼 부족한 강좌 읽어주셔서 감사합니다
관련자료
-
이전
-
다음