thắc mắc [Flutter] Cách login vozforums

meoso123

Junior Member
Chào các bác, chảng là em đang tạo ứng dụng voz trên flutter, đến phần đăng nhập thì em dùng http.post tài khoản lên mà kết quả là data-logged-in="false", vẩn không được, trong khi đó em dùng postman để post lên thì kết quả lại được, và nó trả lại cookie xf_user và xf_session , cho em hỏi là trong trường hợp này mình nên làm thế nào để láy được hai cái dữ liệu _user và _session vậy các bác :(:(:(:(, em mò cả buổi mà vẩn chưa ra :cry::cry::cry: các bác giúp em với
 
Mở tab headers rồi show mấy cái hidden của thằng post man ra rồi add đủ headers thử xem! Trước tôi bị dính 1 case thiếu User-Agent khi dùng api của tụi EU
 
Mở tab headers rồi show mấy cái hidden của thằng post man ra rồi add đủ headers thử xem! Trước tôi bị dính 1 case thiếu User-Agent khi dùng api của tụi EU

E đả làm giống vậy rồi mà chẳng lấy được cái set-cookie, ngáo rồi bác à :too_sad:

via theNEXTvoz for iPhone
 
HTML:
<form action="/login/login" method="post" class="block">
  <div class="block-container">
    <div class="block-body">
      <dl class="formRow formRow--input">
        <dt>
          <div class="formRow-labelWrapper">
            <label class="formRow-label" for="_xfUid-1-1623550841"
              >Your name or email address</label
            >
          </div>
        </dt>
        <dd>
          <input
            type="text"
            class="input"
            name="login"
            autofocus="autofocus"
            autocomplete="username"
            id="_xfUid-1-1623550841"
          />
        </dd>
      </dl>

      <dl class="formRow formRow--input">
        <dt>
          <div class="formRow-labelWrapper">
            <label class="formRow-label" for="_xfUid-2-1623550841"
              >Password</label
            >
          </div>
        </dt>
        <dd>
          <div
            data-xf-init=" password-hide-show"
            data-show-text="Show"
            data-hide-text="Hide"
          >
            <div class="inputGroup inputGroup--joined">
              <input
                type="password"
                name="password"
                value=""
                class="input js-password input--passwordHideShow"
                autocomplete="current-password"
                id="_xfUid-2-1623550841"
              />

              <div class="inputGroup-text">
                <label class="iconic iconic--hideShow js-hideShowContainer"
                  ><input type="checkbox" value="1" /><i aria-hidden="true"></i
                  ><span class="iconic-label">Show</span></label
                >
              </div>
            </div>
          </div>
          <a href="/lost-password/" data-xf-click="overlay"
            >Forgot your password?</a
          >
        </dd>
      </dl>

      <dl class="formRow">
        <dt>
          <div class="formRow-labelWrapper"></div>
        </dt>
        <dd>
          <ul class="inputChoices">
            <li class="inputChoices-choice">
              <label class="iconic"
                ><input
                  type="checkbox"
                  name="remember"
                  value="1"
                  checked="checked"
                /><i aria-hidden="true"></i
                ><span class="iconic-label">Stay logged in</span></label
              >
            </li>
          </ul>
        </dd>
      </dl>

      <input
        type="hidden"
        name="_xfRedirect"
        value="https://voz.vn/whats-new/"
      />
    </div>

    <dl class="formRow formSubmitRow">
      <dt></dt>
      <dd>
        <div class="formSubmitRow-main">
          <div class="formSubmitRow-bar"></div>
          <div class="formSubmitRow-controls">
            <button
              type="submit"
              class="button--primary button button--icon button--icon--login"
            >
              <span class="button-text">Log in</span>
            </button>
          </div>
        </div>
      </dd>
    </dl>
  </div>

  <div class="block-outer block-outer--after">
    <div class="block-outer-middle">
      Don't have an account?
      <a href="/register/" class="button"
        ><span class="button-text">Register now</span></a
      >
    </div>
  </div>

  <input
    type="hidden"
    name="_xfToken"
    value="1623550841,d3903668112b8933aa5a2d5bde9f2563"
  />
</form>
1623551152535.png

trong form login có gửi kèm cái này không? Cái này thay đổi với mỗi request.
 
HTML:
<form action="/login/login" method="post" class="block">
  <div class="block-container">
    <div class="block-body">
      <dl class="formRow formRow--input">
        <dt>
          <div class="formRow-labelWrapper">
            <label class="formRow-label" for="_xfUid-1-1623550841"
              >Your name or email address</label
            >
          </div>
        </dt>
        <dd>
          <input
            type="text"
            class="input"
            name="login"
            autofocus="autofocus"
            autocomplete="username"
            id="_xfUid-1-1623550841"
          />
        </dd>
      </dl>

      <dl class="formRow formRow--input">
        <dt>
          <div class="formRow-labelWrapper">
            <label class="formRow-label" for="_xfUid-2-1623550841"
              >Password</label
            >
          </div>
        </dt>
        <dd>
          <div
            data-xf-init=" password-hide-show"
            data-show-text="Show"
            data-hide-text="Hide"
          >
            <div class="inputGroup inputGroup--joined">
              <input
                type="password"
                name="password"
                value=""
                class="input js-password input--passwordHideShow"
                autocomplete="current-password"
                id="_xfUid-2-1623550841"
              />

              <div class="inputGroup-text">
                <label class="iconic iconic--hideShow js-hideShowContainer"
                  ><input type="checkbox" value="1" /><i aria-hidden="true"></i
                  ><span class="iconic-label">Show</span></label
                >
              </div>
            </div>
          </div>
          <a href="/lost-password/" data-xf-click="overlay"
            >Forgot your password?</a
          >
        </dd>
      </dl>

      <dl class="formRow">
        <dt>
          <div class="formRow-labelWrapper"></div>
        </dt>
        <dd>
          <ul class="inputChoices">
            <li class="inputChoices-choice">
              <label class="iconic"
                ><input
                  type="checkbox"
                  name="remember"
                  value="1"
                  checked="checked"
                /><i aria-hidden="true"></i
                ><span class="iconic-label">Stay logged in</span></label
              >
            </li>
          </ul>
        </dd>
      </dl>

      <input
        type="hidden"
        name="_xfRedirect"
        value="https://voz.vn/whats-new/"
      />
    </div>

    <dl class="formRow formSubmitRow">
      <dt></dt>
      <dd>
        <div class="formSubmitRow-main">
          <div class="formSubmitRow-bar"></div>
          <div class="formSubmitRow-controls">
            <button
              type="submit"
              class="button--primary button button--icon button--icon--login"
            >
              <span class="button-text">Log in</span>
            </button>
          </div>
        </div>
      </dd>
    </dl>
  </div>

  <div class="block-outer block-outer--after">
    <div class="block-outer-middle">
      Don't have an account?
      <a href="/register/" class="button"
        ><span class="button-text">Register now</span></a
      >
    </div>
  </div>

  <input
    type="hidden"
    name="_xfToken"
    value="1623550841,d3903668112b8933aa5a2d5bde9f2563"
  />
</form>
View attachment 597500
trong form login có gửi kèm cái này không? Cái này thay đổi với mỗi request.
1.JPG


2.JPG

Có mà bác, em bỏ đầy đủ vô luôn, mà không get được cái set-cookie, mà em bỏ như vậy lên postman thì lại được
aPZpm32.png
 
bạn up cái postman request dưới dạng curl lên đây được không?
curl 'https://voz.vn/login/login' \
-H 'authority: voz.vn' \
-H 'cache-control: max-age=0' \
-H 'sec-ch-ua: " Not;A Brand";v="99", "Google Chrome";v="91", "Chromium";v="91"' \
-H 'sec-ch-ua-mobile: ?0' \
-H 'upgrade-insecure-requests: 1' \
-H 'origin: https://voz.vn' \
-H 'content-type: application/x-www-form-urlencoded' \
-H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36' \
-H 'accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,/;q=0.8,application/signed-exchange;v=b3;q=0.9' \
-H 'sec-fetch-site: same-origin' \
-H 'sec-fetch-mode: navigate' \
-H 'sec-fetch-user: ?1' \
-H 'sec-fetch-dest: document' \
-H 'referer: https://voz.vn/login/' \
-H 'accept-language: en-US,en;q=0.9,vi;q=0.8' \
-H 'cookie: dable_uid=67579248.1622451328528; _pbjs_userid_consent_data=3524755945110770; _pubcid=ced016e3-e2da-4270-8d40-7c28f0945e1e; __gads=ID=70879632c3f5acdf:T=1622451331:S=ALNI_MY0if89UZCtfz81_I-DbyGXRsqNJg; cto_bidid=yB2sqV9NWmkwRnlHT2tpSDM5bWtJS3VKbjZ4RlJ4WFJiS2hlTGJMYXFybHhnR2pVRDRwZ0oxZE1YNFdLS1FKSGNrTWVINDh3U0JudDhiZklxWVRMZWx1dFlMd1VvWEd3SnVOQksyVmtlMjIlMkZVcm1VU1NjUktKWG9OWFYlMkZtajglMkJOUEpYWnFOeEV6UCUyQlNhanZ6ZFhqdHlibTdadyUzRCUzRA; cto_bundle=xOeGe19rRXZTZyUyRkVMYW5OV0N2ZnFYN05jSDl6SHB0d1NrMTlNVFJtUFNtNkIlMkZVYTJQSSUyRmMzeWRwa1FYYUhPeGMxcVNkMnNpOXpiMGxBakxKc05JUGNyTSUyQnNsRzQ0aU5wa0VwJTJGcnBwa3Y4UVBzMmY5Wk9PeUFLeW9wM2ZxJTJCJTJCZ2thdFd2VDdwJTJGdHBQSDhEZE5CVDNQT1BDODBlYlJXSkZlaERaaWN6Sk9Ia2Q3cWlmRlBab3RVZkRDZVNSOUd4M3pxUVh3; xf_csrf=SCLQTU_K6vQfDtjo; _gid=GA1.2.868494780.1623690688; _gat_UA-351630-10=1; _ga_444227DB98=GS1.1.1623690687.6.1.1623690690.57; _ga=GA1.2.1355326433.1622451327' \
--data-raw 'login=[nhập tài khoản]&password=[nhập pasword]&remember=1&_xfRedirect=https%3A%2F%2Fvoz.vn%2F&_xfToken=1623690689%2C1b52993bd8cec3dcb27b5d815bba99ed' \
--compressed


đây bác, này dưới dạng curl
 
Last edited:
Em cảm ơn các bác đả giúp em :sweet_kiss:, hiện tại thì sao bao nhiều ngày mò mẳm thì cuối cùng em củng đả tìm ra một giải phải đó là, dùng nodejs, tại vì thì em tìm hiểu là cái 'set-cookie' của voz là có gắn cờ 'httponly' :beat_brick:, nên em nghĩ là vì thế nên mới không láy được trên app,
 
Back
Top