PHP curl autentikáció

PHP curl autentikáció
2022-02-06T19:25:32+01:00
2022-02-08T19:05:05+01:00
2022-08-12T07:20:30+02:00
Vatap
Sziasztok!

Szeretnék belépni a nCore-ra curl használatával, de sajnos nem megy. Nem ad vissza semmit se.

Vagy ennél ez bonyolultabb?

function get_data($url) { $username='username'; $password='password!'; $ch = curl_init(); $timeout = 5; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $password); $data = curl_exec($ch); curl_close($ch); return $data; } $returned_content = get_data('https://ncore.pro/index.php'); echo $returned_content;
Mutasd a teljes hozzászólást!

  • Maga a request így néz ki:

    curl 'https://ncore.pro/login.php' \ -H 'authority: ncore.pro' \ -H 'cache-control: max-age=0' \ -H 'sec-ch-ua: " Not;A Brand";v="99", "Google Chrome";v="97", "Chromium";v="97"' \ -H 'sec-ch-ua-mobile: ?0' \ -H 'sec-ch-ua-platform: "Windows"' \ -H 'upgrade-insecure-requests: 1' \ -H 'origin: https://ncore.pro' \ -H 'content-type: application/x-www-form-urlencoded' \ -H 'user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 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://ncore.pro/login.php' \ -H 'accept-language: hu-HU,hu;q=0.9,en-US;q=0.8,en;q=0.7' \ -H 'cookie: nyelv=hu; stilus=pincore; PHPSESSID=SESSION_ID' \ --data-raw 'set_lang=hu&submitted=1&nev=FELHASZNÁLÓNÉV&pass=JELSZÓ' \ --compressed
    Tehát két request-et kell küldened egy loginhoz:
    1) GET ncore.pro/login.php
    Ezzel kapsz egy PHPSESSID értéket, ezt a cookie-t mentsd el.

    2) POST ncore.pro/login.php
    A második lépésben egy application/x-www-form-urlencoded request body-t vár a következő paraméterekkel:
    - a PHPSESSID cookie headerben
    - a request body-ban: set_lang=hu&submitted=1&nev=xxx&pass=xxx
    Ahol nev a felhasználónév és a pass pedig a jelszó.

    Feltéve, hogy ez ilyen egyszerű. Úgy tudom, használnak reCaptcha-t is.
    Mutasd a teljes hozzászólást!
  • Mutasd a teljes hozzászólást!
  • Láttam az oldalon, hogy csökkentett biztonságnak hívott módon, cookieval is beenged.
    Esetleg elég lehet csak ezt elküldeni.
    Próbáld ki, hogy bepipálod, belépsz, bezárod az oldalt és fejlesztői módban újra megpróbálsz belépni valamelyik belső oldalra.
    Ha szerencséd van, a kérés fejlécében meglátod, hogy mit kell megadni és a  reCaptcha sem zargat (legalábbis nem sok értelmét látnám a két módszer kombinálásának).
    Mutasd a teljes hozzászólást!
abcd