Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16

Discussione: curl e https

  1. #1
    Utente di HTML.it L'avatar di luisa227
    Registrato dal
    Mar 2002
    Messaggi
    2,305

    curl e https

    [ignorante]

    uso lo spazio web gratuito xyz che supporta php e curl.
    ho bisogno di usare uno script particolare ma mi dice che la mia versione di curl non supporta il protocollo https

    ho cercato, ma data la mia pura ignoranza in materia non ci ho capito granchè. Ho trovato qs articolo e da quanto ho capito posso settare curl in modo che vada x https però mi sembra che questo faccia usare un codice non molto ottimale per la sicurezza.

    http://unitstep.net/blog/2009/05/05/...otected-sites/

    Cosa mi dite? cosa uso? grazie

  2. #2
    Ti sta dicendo che

    1) setti curl per ignorare il certificato (comodo per quando si parla con server che usano un certificato self-signed o di una CA sconosciuta al browser)

    2) setti curl per usare il certificato (e ti spiega come impostarlo esportandoti la chiave da firefox)

    il problema di sicurezza sta nel fatto che se non controlli il certificato, dice l'autore, un attacker potrebbe dirottare il traffico di api.delicious.com ad un suo server con un altro certificato (?) e quindi il tuo script invece di parlare con le api di delicious parlerebbe con quelle fraudolente (poichè non fa il check sul certificato. facendolo, non succederebbe)...insomma, mi pare che sia un problema che non si pone, cmq a te la scelta
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    Utente di HTML.it L'avatar di luisa227
    Registrato dal
    Mar 2002
    Messaggi
    2,305
    Originariamente inviato da Santino83_02
    Ti sta dicendo che

    1) setti curl per ignorare il certificato (comodo per quando si parla con server che usano un certificato self-signed o di una CA sconosciuta al browser)

    2) setti curl per usare il certificato (e ti spiega come impostarlo esportandoti la chiave da firefox)

    il problema di sicurezza sta nel fatto che se non controlli il certificato, dice l'autore, un attacker potrebbe dirottare il traffico di api.delicious.com ad un suo server con un altro certificato (?) e quindi il tuo script invece di parlare con le api di delicious parlerebbe con quelle fraudolente (poichè non fa il check sul certificato. facendolo, non succederebbe)...insomma, mi pare che sia un problema che non si pone, cmq a te la scelta
    non me ne intendo di quello che dici, però se mi dici che è un problema che non si pone (e perche???) quindi mi confermi che mi basta fare la prima cosa che mi dice? grazie ancora

    e soprattutto... dove devo andare per mettere quello che mi dice??? ossia
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

  4. #4
    Ciao,

    gentilmente evitiamo di citare servizi di hosting a pagamento e/o gratuiti perché è vietato dal regolamento, degli ultimi è possibile parlarne SOLO nella sezione off topic.

    Tra l'altro non è neanche necessario saperlo per rispondere alla tua domanda.

  5. #5
    Utente di HTML.it L'avatar di luisa227
    Registrato dal
    Mar 2002
    Messaggi
    2,305
    Originariamente inviato da daniele_dll
    Ciao,

    gentilmente evitiamo di citare servizi di hosting a pagamento e/o gratuiti perché è vietato dal regolamento, degli ultimi è possibile parlarne SOLO nella sezione off topic.

    Tra l'altro non è neanche necessario saperlo per rispondere alla tua domanda.

    chiedo scusa per averlo citato ma pensavo fosse importante per vedere se realmente quello spazio supporta i curl...

    Cmq ho messo il codice curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); ma ho notato che in realtà c'era già nel codice... questo sotto è il codice in originale. Come risolvo? grazie

    codice:
    //Test if cURL is present
    if(!function_exists('curl_init')) {
     	$issue[] = 'Error: cURL library not available.'
    	. '
    Please contact your hosting company before you continue.';
    } else {
     	//Attempt HTTPS connection
    	$ch = curl_init();
    	curl_setopt($ch, CURLOPT_URL,"https://www.google.com/accounts/ServiceLogin");
    	curl_setopt($ch, CURLOPT_MAXREDIRS, 10);
    	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    	curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
    	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    	curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    
    	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    	curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
    	curl_setopt($ch, CURLOPT_TIMEOUT, 60);
    	curl_setopt($ch, CURLOPT_HEADER, 1);
    	curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; WINDOWS; .NET CLR 1.1.4322)');
    	curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept-Charset'=>'utf-8,*'));
    	if (defined('CURLOPT_ENCODING')) curl_setopt($ch, CURLOPT_ENCODING, "");
    
    	$res = curl_exec ($ch);
    	if(null == $res) {
    		$issue[] = 'Your version of cURL does not support HTTPS protocol.
    '
    		. 'Make sure OpenSSL is installed by your hosting company.
    '
    		. 'Error : ' . curl_error($ch);

  6. #6
    mmm, guarda, è veramente strano che le CURL siano state compilate senza supporto alle SSL perché dovrebbe essere un'apposita forzatura

    potresti riportare il messaggio d'errore per intero? compreso quello che viene dopo la dicitura Error: ?

    non dovrebbe comunque essere necessario specificare CURLOPT_SSL_VERIFYPEER in quanto il certificato SSL di google dovrebbe essere in regola

  7. #7
    Utente di HTML.it L'avatar di luisa227
    Registrato dal
    Mar 2002
    Messaggi
    2,305
    Originariamente inviato da daniele_dll
    mmm, guarda, è veramente strano che le CURL siano state compilate senza supporto alle SSL perché dovrebbe essere un'apposita forzatura

    potresti riportare il messaggio d'errore per intero? compreso quello che viene dopo la dicitura Error: ?

    non dovrebbe comunque essere necessario specificare CURLOPT_SSL_VERIFYPEER in quanto il certificato SSL di google dovrebbe essere in regola

    questa è la continuazione... quindi??? come risolvo???
    codice:
    } else {
    		$pass[] = 'Your version of cURL is compatible';
    	}
    	
    	if (!defined('CURLOPT_ENCODING')) {
    		$pass[] = 'Note: Your curl does not support compression';
    	}
    	
    	curl_close ($ch);

  8. #8
    no, intendo proprio il messaggio d'errore che ti viene riportato nel browser dopo la dicitura Error

  9. #9
    Utente di HTML.it L'avatar di luisa227
    Registrato dal
    Mar 2002
    Messaggi
    2,305
    Originariamente inviato da daniele_dll
    no, intendo proprio il messaggio d'errore che ti viene riportato nel browser dopo la dicitura Error
    Your version of cURL does not support HTTPS protocol.
    Make sure OpenSSL is installed by your hosting company.
    Error : Protocol https not supported or disabled in libcurl

  10. #10
    ok, lo hanno appositamente spento

    non hai modo di utilizzare le curl per fare l'operazione che vuoi fare

    prova con un codice del genere e dimmi che viene fuori

    codice:
    $fp = fopen('ssl://www.google.com', 'wb+');
    fwrite($fp, "GET /accounts/ServiceLogin\r\n");
    fwrite($fp, "Host: www.google.com\r\n");
    fwrite($fp, "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; WINDOWS; .NET CLR 1.1.4322)\r\n");
    fwrite($fp, "Accept-Charset: utf-8,*\r\n");
    fwrite($fp, "\r\n");
    
    echo '<pre>';
    while(feof($fp) != false)
    {
        $data = fread($fp, 8192);
        echo $data;
    }
    fclose($fp);
    echo '</pre>';
    dovrebbe stamparti la un po di roba varia, tra cui gli headers in testata (può essere che risponde con un redirect, codice 301 a salire, verso https://accounts.google.com/ServiceLoginAuth)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.