Q&A

CMS/프레임워크 Rhymix 2.1
개발 언어 Python

로그인을 아래 파이썬 코드로 구현 했습니다 

import requests

import json

 

# 세션 생성

session = requests.Session()

 

headers = {

    "Accept": "application/json",

    "Referer": "https://domain.com/",

}

 

# 1. 로그인 요청

login_params = {

    "module": "member",

    "act": "procMemberLogin",

    "user_id": "test123",

    "password": "test123",

}

 

login_response = session.post("https://domain.com/index.php", data=login_params, headers=headers)

 

print("=== 로그인 응답 ===")

try:

    login_data = login_response.json()

    print(json.dumps(login_data, indent=4, ensure_ascii=False))

except ValueError:

    print(login_response.text)

 

# 2. 로그인 상태 확인 요청

status_params = {

    "module": "member",

    "act": "getLoginStatus",

}

 

status_response = session.post("https://domain.com/index.php", data=status_params, headers=headers)

 

print("\n=== 로그인 상태 응답 ===")

try:

    status_data = status_response.json()

    print(json.dumps(status_data, indent=4, ensure_ascii=False))

except ValueError:

    print(status_response.text)

 

 

이제 로그인 상태 응답시에 

 

{
    "status": "wk09Lvg_TqIXfhvAuBFBhnT3",
    "csrf_token": "qicdjzlxYjG6oBgU",
    "last_login": 1758673469,
    "error": 0,
    "message": "success"
}

 

와 같이 리턴하게 되는데 status값으로 회원 정보를 어떻게 불러올 수 있는지 궁금합니다.

예술이 이끄는 기술, 기술이 빚은 예술을 지향합니다.

댓글 3

  • 모듈을 만들어서 따로 api를 호출 할 수 있도록 해야할 것 같아요.

     

    라이믹스 getLoginStatus 함수는 모바일에서 로그인이 되어있는지 확인용도로 true false 으로만 반환해주는 함수일뿐이예요.

     

    따로 json 으로 압축해서 회원정볼르 가져올 수 잇는 모듈을 만들어보셔요.

  • @람보

    그렇다는건, getLoginStatus 이전에 별도 모듈로 로그인 응답이 success일때 json으로 원하는 회원 정보 데이터를 내려줘야 한다는 말씀이실까요?

  • 현재 로그인한 회원의 member_srl이나 아이디 등을 반환하는 api는 없습니다.

     

    CSRF 공격을 통한 개인정보 유출의 우려가 있기 때문에, getLoginStatus에서도 실제 회원정보 대신 암호화된 토큰값만 제공합니다. 이 정보로는 로그인했는지 안 했는지, 그리고 동일인 여부만 판단 가능합니다. 이 값으로 어느 회원인지 알 수는 없어요. (알 수 있다면 보안취약점이니 신고 바랍니다.)

     

    물론 방금 로그인하셨으니 회원정보 보기(dispMemberInfo) 페이지를 요청해서 결과를 파싱할 수는 있겠네요. ㅎㅎ