http request curl via https

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Daniel van Seggelen

Daniel van Seggelen

25/04/2019 14:52:43
Quote Anchor link
Hallo Allemaal,

Een klant wil via een HTTPS domein een HTTP curl request doen. Hij wil om de 1 of andere reden geen SSL installeren op de HTTP ipadres waat informatie op staat.

Is dit te omzeilen?
 
PHP hulp

PHP hulp

27/02/2020 05:48:38
 
Thomas van den Heuvel

Thomas van den Heuvel

25/04/2019 15:08:11
Quote Anchor link
De klant bezit dus beide domeinen (1xhttps, 1xhttp)?
Wat werkt er nu niet dan? En wat zou je willen omzeilen? En als dat al mogelijk is, zou dat dan wenselijk zijn? https is meer dan simpelweg een "s" achter http...
 
Rob Doemaarwat

Rob Doemaarwat

25/04/2019 15:25:27
Quote Anchor link
Als ik zo lees zeg je: "vanaf de server van https://https-website.nl (de klant) wil je een cURL request doen naar http://volledig-andere-website.nl";. Op die manier is dat geen enkel probleem (het boeit cURL niet op welke manier de aanroep naar je script wordt gedaan). Tenzij die "volledig-andere-website" enkel HTTPS toestaat, maar dat kan ook prima met cURL.

Oftewel: geef eens een voorbeeld met wat meer handen en voeten.
 
Thomas van den Heuvel

Thomas van den Heuvel

25/04/2019 15:30:08
Quote Anchor link
^ what he said
 
Daniel van Seggelen

Daniel van Seggelen

26/04/2019 00:19:33
Quote Anchor link
Even wat meer handen en voeren.

Het is een curl request en met de "verbose" optie heb ik een error bestand laten maken:


* About to connect() to x.x.x.x. port 8000 (#18)
* Trying x.x.x.x....
* Connection refused
* Failed connect to x.x.x.x.:8000; Connection refused
* Closing connection 18

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
$mp_data = [];
$fp = fopen('/home/divers/domains/test.net/private_html/test/errorlog.txt', 'w');
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_URL,"http://x.x.x.x:8000/mp/api?code=".$Number);
   curl_setopt($ch, CURLOPT_VERBOSE, 1);
   curl_setopt($ch, CURLOPT_STDERR, $fp);
  
$markt=curl_exec($ch);


Als ik er met de browser heenga dan is er geen probleem.

Zie bijv hier een uitleg :
https://stackoverflow.com/questions/53211319/how-can-i-make-an-http-request-from-an-https-website En https://stackoverflow.com/questions/39245165/how-can-i-load-http-from-https

"This is a browser level security feature. You have to load all content through HTTPS to avoid this "

Is dit dan gewoon niet waar en moet ik dit negeren?
 
Ivo P

Ivo P

26/04/2019 10:38:10
Quote Anchor link
ik zie in de output niets van een probleem met SSL.

Wel dat de verbinding opzetten niet lukt.
Ofwel klopt het ip-adres + poort 8000 niet.
ofwel weigert de server waarop je curl gebruikt verkeer naaar buiten via poort 8000
ofwel weigert de server x.x.x.x verkeer vanaf bepaalde servers.

nb. regel 5 lijkt me overbodig.

---
en aangezien je niets spannends mee lijkt te sturen met curl: wat geeft

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php file_get_contents("http://x.x.x.x:8000/mp/api?code=".$Number); ?>
 
Daniel van Seggelen

Daniel van Seggelen

26/04/2019 11:50:06
Quote Anchor link
Het probleem is, dat het via localhost wel werkt. Het is alleen via mijn server wat niet werkt .
Snap niet waarom. Het iadres is niet geblokkeerd.
 
Ivo P

Ivo P

26/04/2019 11:54:12
Quote Anchor link
Kun je ook via de command line op je server?

Wat als je als url een willekeurige url van een andere server? (en dan eentje op poort 80 ipv 8000)
 
Daniel van Seggelen

Daniel van Seggelen

26/04/2019 17:08:32
Quote Anchor link
Het werkt inderdaad wel vanaf een andere server ook. Ik denk idd dat het ipadres op de blocked list staat
 
Ivo P

Ivo P

27/04/2019 14:35:52
Quote Anchor link
of jouw server laat verkeer over poort 8000 niet naar buiten.

Kun je de server wel via poort 80 bereiken (al dan niet om een willekeurige pagina op te halen)?
 
Daniel van Seggelen

Daniel van Seggelen

28/04/2019 03:39:38
Quote Anchor link
Poort 80 geef:

Deze site is niet bereikbaar Het duurt te lang voordat x.x.x.x reageert.

Hoe controleer ik of mijn server wel of niet verkeer naar buiten laat via poort 8000
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.