매크로

조회 수 802 추천 1 댓글 24

지난번에 이어서 인증 방법 문의드립니다.


XE홈페이지를 통한 인증방법입니다.


여기에서 검색해서


https://tailstar.net/index.php?_filter=search&mid=autohotkey&search_keyword=%EB%A1%9C%EA%B7%B8%EC%9D%B8&search_target=title_content&document_srl=11941164


이 글의 댓글을 본후 xe로그인 인증을 말씀하셔서 연구를 하고 있는데 도무지 답이 없네요


https://i.imgur.com/sXHP3dS.jpg

xe홈페이지에 로그인하면 회원정보보기에서 위의 이미지와 같은 화면이 뜹니다.


그래서 다음과 같이 소스를 짰습니다.


file1:="http://사이트주소/xe/index.php?act=dispMemberInfo&mid=index"

FileCreateDir, %A_Temp%\

f1::

random, a

URLDownloadToFile, %file1%, %A_Temp%\check%a%.txt

if(FileExist("%A_Temp%\check%a%.txt"))

{

filedelete, %A_Temp%\check%a%.txt

}

fileread, text, %A_Temp%\check%a%.txt

Ifinstring, text, 정회원

{

filedelete, %A_Temp%\check%a%.txt

Msgbox, 17, 회원확인, BATCRO 정회원이 인증되었습니다.`n`n즐거운 시간 되세요^^

IfMsgBox, Yes

{

run, www.naver.com

}

}

IfNotInString, text, 정회원

{

Msgbox, 16, 회원확인, 홈페이지 로그인 후 사용이 가능합니다.

Run,%file1%

filedelete, %A_Temp%\check%a%.txt

ExitApp

}

f2::

exitapp


하지만 결과는 실패!!!


원인은 http://사이트주소/xe/index.php?act=dispMemberInfo&mid=index 에서 다운로드하는 텍스트가


로그인 후 화면을 다운로드하지 않고 로그인 전 화며만 다운로드 합니다..ㅠㅠ


몇 일째 구글링과 테스트를 반복하는데 도무지 답을 찾지 못하겠네요...


호성님은 가장 쉬운 방법이라 하셨는데...


뭐가 문제일까요??


  • 슉슉이 2016.02.12 01:57
    음... 뭐 모르고 댓글 달 수도 있다는 거 미리 말씀드립니다.

    일단 제가 보기엔
    URLDownloadToFile, %file1%, %A_Temp%\check%a%.txt
    if(FileExist("%A_Temp%\check%a%.txt"))
    {
    filedelete, %A_Temp%\check%a%.txt
    }

    이부분을 보면 파을을 다운로트해서 *.txt에 저장한후 바로 그 파일이 존재하면 지워 변수에 격납할 데이터 자체가 없어지는 것 같습니다.
  • 리체 2016.02.12 08:20

    저도 첨에는 그런줄 알았었는데 실행해보면 데이터를 정상적으로 읽어옵니다.

  • 우리형 2016.02.12 08:29
    소스에서 filedelete는 기존 랜덤 파일을 삭제하는 걸로 알고 있습니다~^^
  • 리체 2016.02.12 08:21

    사이트주소에서 로그인 아이디와 비밀번호를 같이 넣어주셔야 할것 같습니다.

  • 우리형 2016.02.12 08:28
    저도 그렇게 생각은 하는데 어디에 넣어야 하는지를 모르겠네요~
  • 슉슉이 2016.02.12 09:34
    나중에 시간나면 저도한번 홈페이지 민드는 거 공부하고 알아볼게요. 일단 제가 쓰는 방법 알려드릴게요. 인증 신청 들어올 때마다 수동으로 참조하는 문서 수정해야하는 단점이 있지만 단순히 url정보를 읽는 게 아니라 실제 파일을 다운로드 하는 거라 이래저래 활용가능합니다.

    1. 공유가능한 링크주소(링크다운로드는 가능하지만 직접다운로드는 안됨)
    예)https://drive.google.com/folderview?id=0B_h0QpStlxy2bjkwZEVaSFRQUVE&usp=sharing

    2. 파일 실제 주소 알아내기
    위 공유가능한 주소에서 0B_h0QpStlxy2bjkwZEVaSFRQUVE&usp <- 이부분을 잘라냄.
    그리고 https://docs.google.com/uc?export=download&id= <- 이거 뒤에 붙임
    예) https://docs.google.com/uc?export=download&id=0B_h0QpStlxy2bjkwZEVaSFRQUVE&usp
    스크립트 내에서 파일다운로드 가능
  • 우리형 2016.02.12 09:54
    저는 예지력님의 파싱과 정규식 글을 활용해서 서버 on/off를 사용하고 있습니다.

    http://knowledgeisfree.tistory.com/75

    전에는 네이버 블로그를 활용해서 하드인증, 서버인증을 했었는데 님 말씀대로 하드 인증요청때마다

    블로그에 코드 넣어주는 것도 일이더라구요

    그래서 홈페이지를 만들게 되었고 홈페이지 회원만 프로그램을 다운로드하여 사용할 수 있게 하고 싶어서

    이 방법을 생각하게 되었습니다.~^^
  • 슉슉이 2016.02.12 09:37
    한명한명 인증하는 게 귀찮아 그냥 on/off 하는 걸로 사용합니다. 참조문서를 수정하거나 없애버리면 작동을 안하게요. 유료제품을 파는 거면 한명한명 수동으로 인증할 수고정도는 충분히 할 생각이고요.
  • 우리형 2016.02.12 10:01
    그리고 on/off와 마찬가지로 프로그램에 버전 정보를 추가하시면 더 많은 활용이 가능할 듯 합니다.

    그래서 예지력님의 파싱과 정규식정리를 보고 이처럼 수정해서 사용하고 있습니다.

    ver=4.5.2

    Address := ReadURL(url1)
    IfNotInString, Address, Server/is/Online ;서버가 Online 상태인지 확인한다
    {
    Msgbox, 16, 공지사항, 서버 점검 중 입니다.`n`n서버 점검 후 사용하시기 바랍니다.
    ExitApp
    }
    IfNotInString, Address, 2016%ver%
    {
    MsgBox, 17, 공지사항, 현재 v%ver% 버전은 사용하실 수 없습니다.`n`n확인 버튼을 누르시면 다운로드 페이지로 이동합니다.
    IfMsgBox, Yes
    {
    Run,%download1% ;다운로드 경로
    }
    ExitApp
    }
    RegExMatch(Address,"@ProgramVersion/(.*?)@",Latest)
    if (Latest1 > Ver)
    {
    MsgBox, 4164, 버전체크, % "최신버전 " Latest1 "이 존재합니다`n`n다운로드 받으시겠습니까??"
    IfMsgBox, Yes
    {
    Run,%download1% ;다운로드 경로
    ExitApp
    }
    else
    {
    goto, 프로그램 실행
    }
    }
    return

    ReadURL(URL, encoding = "utf-8") {
    static a := "AutoHotkey/" A_AhkVersion
    if (!DllCall("LoadLibrary", "str", "wininet") || !(h := DllCall("wininet\InternetOpen", "str", a, "uint", 1, "ptr", 0, "ptr", 0, "uint", 0, "ptr")))
    return 0
    c := s := 0, o := ""
    if (f := DllCall("wininet\InternetOpenUrl", "ptr", h, "str", url, "ptr", 0, "uint", 0, "uint", 0x80003000, "ptr", 0, "ptr"))
    {
    while (DllCall("wininet\InternetQueryDataAvailable", "ptr", f, "uint*", s, "uint", 0, "ptr", 0) && s > 0)
    {
    VarSetCapacity(b, s, 0)
    DllCall("wininet\InternetReadFile", "ptr", f, "ptr", &b, "uint", s, "uint*", r)
    o .= StrGet(&b, r >> (encoding = "utf-16" || encoding = "cp1200"), encoding)
    }
    DllCall("wininet\InternetCloseHandle", "ptr", f)
    }
    DllCall("wininet\InternetCloseHandle", "ptr", h)
    return o
    }
  • 슉슉이 2016.02.12 09:37
    구글드라이브입니다.
  • 우리형 2016.02.12 10:03

    현재까지의 결론은 XE홈페이지에서는 회원정보를 다이렉트로 파싱할 수 없다 같습니다..ㅠㅠ


    XE홈페이지 고수분이 나타나면 좋으련만~~


    이제 출근준비하고 고수분이 나타나기를 기다려봐야겠네요...^^

  • 우리형 2016.02.12 10:06

    다른 방법으로는


    http://v1.autohotkey.co.kr/cgi/board.php?bo_table=script&wr_id=1938&sca=&sfl=mb_id%2C1&stx=roamer


    를 활용하면 될 듯하기도 한데...


    읽어도...읽어도....ㅎㅎㅎ


    이해가 되질 않네요...ㅠ

  • Hangoon 2016.02.12 10:26

    XE과거버전 (1.5이전) 에서 url을 통한 로그인을 지원했었습니다

    http://xxx.xx/?&act=procMemberLogin&user_id=아이디&password=비밀번호

    이런식이죠. 저런 형태의 주소로 접속하면 바로 로그인이 되는...


    그런데 이런 방식은 url에 아이디와 패스워드가 노출되기 때문에 보안을 위해 이것이 1.5버전부터 막혀있는 상태입니다.

    그리고 사이트 내부가 아닌 외부페이지나 프로그램을 통한 로그인도 과거에는 data 전송방식을 POST로 하였을때 가능했지만 버전업을 거듭하면서 현재는 불가능한 것으로 보입니다.


    저 역시 XE보드를 깔아서 테스트를 해보았지만 아직은 가능한 방법을 찾지 못했습니다

    XE core의 로그인 관련 함수를 수정해보았지만 안되더군요 (제 지식이 딸려서 방법을 찾지 못한 것 같습니다...)


    호성님의 홈페이지는 XE 구버전을 인스톨하신것인지, 어떤 다른 수정을 가하신 것인지 잘 모르겠습니다만.... 현재 url을 통한 로그인이 가능하게 되어있습니다. 위 예시에서 호성님 홈피 주소로 테스트해보시면 가능한것을 아실 수 있을겁니다

  • 우리형 2016.02.12 10:56
    역시 그렇군요...ㅠ

    죄송한데 호성님 홈페이지가 어떻게 되는지요?^^
  • Hangoon 2016.02.12 11:00
    직접 말씀드리긴 그렇고 구글에 안몬이나 안7로 검색해보시면 금방 찾으실겁니다
  • 우리형 2016.02.12 13:17
    사이트 찾았습니다..감사합니다~^^
    그런데 회원가입자체는 안되네요..호성님한테 연락할 방법을 찾아봐야겠네요~ㅎ
  • Hangoon 2016.02.12 15:22
    아 아마 사이트가입이 비공개로 바뀌었을겁니다
    기존 VIP회원에게 초대장을 받아 가입하는 방법입니다
    제가 vip이긴한데......... 초대장을 발급신청 즉시 주시는건 아니고 월말이나 월초에 일괄발송하시더군요

    그 외 안호성님께 직접 초대코드를 받는 방법이 있는데 이부분은 유료로 판매중이신걸로 알고 있습니다
    네이버 블로그에 호성님 블로그를 찾아보시면 유료가입 관련해서는 정보를 알아보실 수 있습니다
    주소를 제가 직접 말씀드리긴 그렇고.... 네이버에 안커뮤니티 로 검색해보세요
  • Hangoon 2016.02.12 15:24

    만약 초대장이 필요하시면 제가 발급하여 드리겠습니다. 시간이 좀 걸릴지는 모르겠지만....


    혹시 XE와 연동할 방법을 아시게 되면 저에게도 공유가 가능할지요?

    저도 몇달전부터 고민하면서 해법을 찾던 부분이라........ ㅎㅎ

  • 우리형 2016.02.12 16:58
    그야 당연히 해드려야죠~
    호성님 홈페이지와 관계없이 여러가지로 고민해보고 있는 중입니다.
    방법을 찾게 되면 연락드리겠습니다~^^
  • 슉슉이 2016.02.12 22:20
    트래픽 걱정 없이 무료로 파일 업데이트 서버를 이용하는 방법이 있는데요? 만약 XE연동이 된다면 회원정보 같은 겁데기는 XE를 활용해 무료호스팅 서비스를 이용하고 실제 파일이 오가는 업데이트 는 제가 쓰는 방법으로 하면 트래픽 걱정없을 것 같습니다. 트래픽 걱정이 없으니 매크로의 중요 연산이나 인증을 실시간으로 계속 서버를 참조하게해서 보안을 더 높일 수도 있을 것 같네요.
  • 우리형 2016.02.12 22:39
    제가 원하는 것이 님이 말씀하는 것처럼 구현하는 것인데요..

    자료 게시판에는 님처럼 구글 드라이브등을 이용하여 링크가 업로드하고

    xe홈페이지에서 게시판접근은 준회원/정회원 중 정회원만 가능하게 하는 것입니다.

    그런데 매크로에서 준회원/정회원 정보를 로딩하는게 구현이 안되서 요러고 있어요..ㅠㅠ

    php파일을 수정해야 할 것 같은데 넘사벽이 될 것 같네요~
  • 슉슉이 2016.02.12 22:57

    전 유료매클 계획중인데 xe홈페이지 빼고 나머진 다 구현해서 테스트 완료했습니다. 전 구글문서로 회원 관리하려고 했어요. 홈페이지는 나중에 장사가 정말 잘되면 한번 해볼까했고요. 구글 문서의 장점이 핸드폰으로 수정이 가능하다는 거죠. 전 인증 문자가 오면 입금 확인하고 일하다가 잠깐 짬내서 휴대폰으로 문자를 복사해서 붙여넣기하려고 했어요. 기간제한, 기간 연장 다 가능하고요. 매크로 중요 연산이나 참조 이미지를 몇개를 저만의 방식으로 암호화해서 서버에 두려고 했고요. 제가 나름 정리해서 공유하니 다들 못알아먹어서ㅎ 그냥 구글드라이브 서버?를 파일다운로드 서버로 활용하는 것에서 더 나아가 업데이트 서버?로 활용할 때 막히는 게 있으면 물어보세요ㅎ

  • 우리형 2016.02.12 23:08
    전 아직 유료 계획은 없으나 이전에는 일일이 하드 인증을 통해서 해줬었는데

    그것도 귀찮아 이방법을 선택하게 되었답니다~ㅋㅋㅋ

    그리고 디컴 시 리소스 유출을 방지하기 위해서 가상화를 사용하시면 좋을듯하네요

    그리고 구글드라이브는 잘 사용하지 않았던 지라....궁금증이 생기면 연락드리께요~^^
  • Hangoon 2016.02.16 12:59

    구글드라이브를 호스팅서버로 이용할 수 있는 방법이 있는데 사실 괜찮은 방법이죠
    비슷하게 pastebin을 이용해도 되는데 이건 트래픽제한이 있었던가요? 잘 기억이....

    (지금보니 트래픽제한은 없네요. 용량제한이 있는데 웬만한 수준에서는 충분할듯.. 개인적으로는 현재 pastebin이용중인데 편하고 좋더군요)

    아무튼 운영하는 사이트와 회원정보를 연동할 수 있으면 관리면에선 편한 부분이 많긴하죠
    일일히 인증해줄필요가 없으니까...... 포인트와 매칭해서 조금더 유기적으로 관리하는 것도 가능하구요
    기능적으로는.....흠 사실 제약이 더 많지만요.
    제약이 많다기보다는........ 뭐 기능하나 추가하려면 들어가는 노력이.....

    그냥 문서 하나로 관리하면 본인이 짜기 나름이니까 사실 크게 어려움은 없죠

    이런저런 장단점이 있는데, 그래도 나~~~~~중에 편하게 가려면 사이트와 연동하는게 참 좋은 방법이라고 저도 생각합니당

    쉽게쉽게 가려고하니까 어려운데 사실 방법은 많이 있죠. 조금만 노가다하면요 ㅎㅎ
    (역시 코딩은 노가다..... 본질을 외면하려고 하면 자꾸 먼길을 가게 되더라구요)


List of Articles
분류 제목 글쓴이 최근변경 추천
질문 [입문자] 녹스 비활성화 랜덤좌표 클릭 질문이용!! 1 라디에스 2017.11.18 0/0
질문 [오토핫키] 여러개의 사진을 이미지 서칭하는 방법에 ... 5 동방밀사 2015.02.05 0/0
질문 [오토핫키 질문] 이미지서치 11 겜도리 2014.10.28 0/0
질문 [오토핫키 1일차] 재미있네요! 막힌부분 질문! 6 쿠우우우우 2018.04.28 0/0
질문 [오랜만에 접속했습니다. 오토핫키 배워보렵니다.] 클라이머 2020.02.20 0/0
질문 [세나]스킬에 우선권을 줘서 스킬이 예약되있으면 취소... 2 genie7 2015.11.02 0/0
질문 [세나] 매크로 만드는 중인데 좌표 값을 모르겟네요 6 genie7 2015.08.15 0/0
질문 [사무업무]Postmessage혹은 Controlsend로 창2개컨트롤... 2 법돌 2015.06.04 0/0
질문 [별이되어라]오토핫키 잘 아시는분 있으시면 도와주세요 16 천조국 2015.02.05 0/0
질문 [밀크탭게임 관련]어떤 방법을 동원해도 이건 안되네요... 20 로맨티스트 2015.07.11 0/0
질문 [명령어]오토핫키 명령어로 부팅시 오토핫키 실행하게 ... 생존자8 2017.07.04 0/0
질문 [레이븐]setimer 라벨에 gosub 이나 goto 명령어 쓰면 ... 15 T7GG 2015.08.30 0/0
질문 [Gui] 이미지가 포함된 편집가능한 테이블 제작 26 Hangoon 2015.03.26 1/0
질문 xe홈페이지 로그인 인증방법 문의 24 우리형 2016.02.16 1/0
질문 x,y축의 직선이 마우스 따라다니게 할수 있나요?? 맛초킹 2017.02.13 0/0
질문 X Trap은 뮤텍스로 우회 못하나요? gab 2018.02.03 0/0
질문 wparam값 관련 명령어 아시는분.. 1 석빡귀 2015.09.23 0/0
질문 winsock 10051 에러좀 도와주세요~^^; 12 퉁군 2015.05.11 0/0
질문 winmove 질문좀 드리겠습니다. 7 우앙쿵쾅 2015.08.04 0/0
질문 winmove 실행시 오토핫키 팅김 질문드립니다 Liayn 2018.06.05 0/0
Board Pagination Prev 1 ... 134135136137138139140141142 ... 173 Next
/ 173

전체 최신 인기글

전체 주간 인기글