Gå til innhold

Hente data fra side som krever innlogging


Anbefalte innlegg

Hei,

 

Jeg skal med PHP hente ut data fra en side som krever innlogging. Problemet ligger ikke i å hente ut data, men å la PHP automatisk logge seg på, slik at et script som kjører automatisk får tilgang til de beskyttede sidene. Har prøvd å lese meg frem til en løsning, og har kommet over såkalte sockets, et tema som ikke gjorde meg noe klokere. Er det noen av dere med god kompetanse innen PHP som vet hvordan jeg kan løse dette? Høy sikkerhet er veldig viktig.

Videoannonse
Annonse
  • 2 uker senere...

Jeg har begynt å skrive koden som skal hente det jeg ønsker fra brukersiden. Har lest litt om cURL, men det er vanskeligere enn jeg tordde. Jeg har forstått at jeg må begynne slik:

 

<?php

$ch = curl_init('http://www.example.com/login.php');

curl_exec($ch);

curl_close($ch);
?>

 

Hvordan får jeg sendt 'brukernavn' og 'passord' til adressen i scriptet? Og når cURL har logget meg inn, hvordan får jeg da hentet kildekoden til f.eks. www.example.com/user.php?

 

Tenker meg noe slik:

<?php

$ch = curl_init('http://www.example.com/login.php');

// Sende 'brukernavn' og 'passord'

$html = file_get_contents('http://www.example.com/user.php');

curl_exec($ch);

curl_close($ch);
?>

Kunne du tenke deg å skrive litt om hvordan du løste saken? Så kan andre få hjelp av denne tråden i stedet for å starte en ny...

5913050[/snapback]

Det er jo en del å sette seg inn i, men jeg kan lime inn et eksempel fra boken jeg refererte til over, som viser hvordan man benytter POST med cURL:

 

<?php
// Example 002.2
// Pass form Variables as method = POST
// Copyright http://curl.phptrack.com

$url = "http://curl.phptrack.com/subscribe.php"; // URL to POST FORM. (Action of Form)
// use PHP Fucntion url_encode() for post variable for application/x-wwwform-
urlencoded
$post_fields = 'fuseaction=forum&name=imran%20khalid&age=30&press=OK'; //
form Fields.

$ch = curl_init(); // Initialize a CURL session.
curl_setopt($ch, CURLOPT_URL, $url); // Pass URL as parameter.
curl_setopt($ch, CURLOPT_POST, 1); // use this option to Post a form
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields); // Pass form Fields.
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // Return Page contents.

$result = curl_exec($ch); // grab URL and pass it to the variable.
curl_close($ch); // close curl resource, and free up system resources.

echo $result; // Print page contents.

?>

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...