Visualizzazione risultati 1 fino 8 di 8

Discussione: fsockopen() non funziona affatto o meglio limitata solo a http (80) e https (443)

  1. #1
    Guest

    Thumbs down fsockopen() non funziona affatto o meglio limitata solo a http (80) e https (443)

    Ciao,

    Da tempo ho attivato la connessione Server to server http://it.altervista.org/wiki/index....rver_to_Server, sbloccando la whitelist, per appoggiarmi a servizi esterni tramite API sul mio sito in PHP.
    Ad es. per Mailchimp, e infatti il mio sito funziona benissimo con tale sito che uso per l'invio automatico di newsletter agli utenti che ne fanno richiesta.

    Il problema è ora che studiando la funzione fsockopen() e cURL ecc. vedo che anche un semplice chiamata, con tale funzione nativa del PHP, ad una porta/servizio NON APERTA di un host mi da qui su altervista.org un risultato "sconcertante" : mi dà un risultato TRUE invece che mostrare l'errore di connessione!!!

    Ecco un semplicissimo esempio:

    Codice PHP:
    error_reporting(E_ALL);

    $chiamata = fsockopen("www.html.it", 443, $errno, $errstr, 10);

    if (
    $chiamata )
    {
    echo
    "La porta 443 è aperta per www.html.it.";
    fclose($chiamata);
    }
    else
    {
    echo
    "$errstr ($errno)<br>\n";
    }

    Qui in locale visualizzo CORRETTAMENTE quanto segue:
    Warning: fsockopen(): unable to connect to www.html.it:443 (Connection timed out) in /opt/lampp/htdocs/new_site_local/try_port_scanner.php on line 5
    Connection timed out (110)


    mentre online, dopo aver caricato questo script ottengo:
    La porta 443 è aperta per www.html.it.

    Esattamente l'opposto!!!!

    Ho capito che altervista permette solo le connessioni a server esterni alle porte/servizi 80 (http) e 443 (https) ma non dovrei ottenere lo stesso errore che ho in locale?

    Inoltre ho attivato anche l'error_reporting su ALL per vedere anche qui in Production (online) tutti gli errori, compresi i Notice mandati da PHP, che sono invece disattivati di default!
    Ricevo invece quella errata risposta in TRUE! E non vedo errori di nessun tipo!!!
    Mah......


    Non capisco davvero.
    Spero che qualche admin mi risponda e mi chiarisca la faccenda.
    Grazie e ciao

  2. #2
    L'avatar di Gianluca
    Gianluca non è connesso Amministratore
    Data registrazione
    15-02-2001
    Messaggi
    18,035

    Predefinito

    L'implementazione della funzione fsockopen() di AlterVista differisce rispetto a quella originale che tu puoi testare in locale scaricando una versione originale di php engine. Alla base di questo ci sono varie motivazioni, prevalentemente legate alla sicurezza che non mi dilungo qui a spiegare.

    La replica che hai ottenuto è quindi prevista e normale, non puoi di fatto usare fsockopen() su AlterVista per verificare se una porta su un host remoto è aperta o chiusa, puoi al massimo verificare se una data richiesta http verso l'host remoto ha o meno successo
    Gianluca

  3. #3
    Guest

    Predefinito

    Allora devo immaginare che su server che danno hosting gratuiti come altervista.org sia di fatto attivata la modalità Safe Mode.
    Capisco la sicurezza, ma mi sembra una penalizzazione importante per un sito famoso come altervista.
    Le connessioni con getmxrr() non vanno,, fsockopen() viene praticamente mutilata ecc.
    E pensare che quest'ultima è nata proprio per permettere agli admin di controllare i servizi/porte aperte sui server, magari prorpio dove uno ha il proprio sito web, per verificare che tutto sia ok.

    Inoltre online si trovano moltissimi tool che magari usano Net_NMap per scansionare server altrui che ospitano siti web: si può persino utilizzare un'ottima classe che altro non è che un Wrapper appunto in PHP per Net_NMap. Progetto Open Source mantenuto da uno sviluppatore italiano.

    Francamente tale "politica" di pseudo-sicurezza per certi server che danno hosting gratis come altervista.org non la capisco proprio.
    E pensare che avevo sviluppato un tool abbastanza complesso per il port-scanning con salvataggio dati su db MySQL, dove registravo tutte le ricerche effettuate e i dati inseriti dagli utenti a partire da un mio form.

    Va beh, vuol dire che posterò sul mio sito il sorgente dello script con le info e delucidazioni, per chi voglia provarlo non solo in locale, ma anche online su un server configurato in modo diverso!.

    Ciao.
    Ultima modifica di newbielinux : 15-10-2014 alle ore 16.40.05

  4. #4
    L'avatar di Gianluca
    Gianluca non è connesso Amministratore
    Data registrazione
    15-02-2001
    Messaggi
    18,035

    Predefinito

    Allora devo immaginare che su server che danno hosting gratuiti come altervista.org sia di fatto attivata la modalità Safe Mode.
    Capisco la sicurezza, ma mi sembra una penalizzazione importante per un sito famoso come altervista.
    In realtà non è propriamente così, il php engine di AlterVista ha un'implementazione alternativa al safe_mode, che comunque di per sé non influisce sul funzionamento di fsockopen() in questi termini.
    In verità è più comune il fatto che fsockopen() sia del tutto disabilitata presso servizi di hosting condivisi, non necessariamente solo gratuiti.

    Probabilmente se non vuoi che il tuo provider (sia esso gratuito o a pagamento) sospenda l'erogazione del servizio perché permetti a terzi anonimi di fare dei port-scanning, ti converrebbe dotarti di un server dedicato, ma personalmente mi sento di sconsigliarti di offrire un servizio simile addossandoti le responsabilità del suo uso.
    Gianluca

  5. #5
    Guest

    Predefinito

    Citazione Originalmente inviato da Gianluca Visualizza messaggio
    Probabilmente se non vuoi che il tuo provider (sia esso gratuito o a pagamento) sospenda l'erogazione del servizio perché permetti a terzi anonimi di fare dei port-scanning, ti converrebbe dotarti di un server dedicato, ma personalmente mi sento di sconsigliarti di offrire un servizio simile addossandoti le responsabilità del suo uso.
    Se per terzi anonimi si intende tracciare l'IP di chi si connette alla pagina web in oggetto, il suo OS, browser ecc. ed ovviamente momento della connessione, non capisco dove stia il problema. Inoltre perché online esistono tool che permettono questo tranquillamente magari usando proprio un wrapper in PHP per Net_Nmap, come dicevo prima?

    Posso anche tentare una connessione a socket remoti impostando da browser ad es:
    www.example.com:443

    E' illegale?
    Non mi pare proprio! Diciamo allora le cose come stanno: aboliamo certe funzioni NATIVE del PHP come fsockopen() tout-court che magari danno "fastidio" e buona notte al secchio!.

  6. #6
    L'avatar di Gianluca
    Gianluca non è connesso Amministratore
    Data registrazione
    15-02-2001
    Messaggi
    18,035

    Predefinito

    Il port-scanning verso terzi e senza autorizzazione è comunemente considerato un'attività ostile se non un vero e proprio attacco.

    Sullo stesso sito nmap.org trovi sostanzialmente le medesime considerazioni che ti sto facendo http://nmap.org/book/legal-issues.html

    Vale sempre la regola del coltello, che puoi usare per affettare il pane o tua moglie.
    Gianluca

  7. #7
    Guest

    Predefinito

    Citazione Originalmente inviato da Gianluca Visualizza messaggio
    Il port-scanning verso terzi e senza autorizzazione è comunemente considerato un'attività ostile se non un vero e proprio attacco.

    Vale sempre la regola del coltello, che puoi usare per affettare il pane o tua moglie.
    Allora da questo punto di vista aboliamo, come dicevo, fsockopen() e compagnia bella, e stop! Aboliamo anche ogni articolo in merito alle potenzialità di questa funzione - utile, tra l'altro, anche per controllare i servizi whois per vedere se un dominio di secondo livello è disponibile su server che offrono hosting, ad esempio - e basta, e così tutti dormono sonni tranquilli.

    Banniamo e facciamo inginocchiare sui ceci, con il capo cosparso di cenere a chiedere eterno perdono, anche gli sviluppatori di Net_Nmap che vedi qui http://pear.php.net/package/Net_Nmap/download/1.0.5/ , e stop!

    Di conseguenza dal tono che Voi come admin di altervista.org assumete in merito alla vicenda, devo arguire che anche il semplice mostrare sul proprio sito personale, il sorgente di uno script in PHP per la creazione di un port-scanner, potrebbe esporre il soggetto, che ha "postato" lo script a GRAVI CONSEGUENZE ANCHE LEGALI, nel caso in cui qualcuno utilizzasse tale script per scopi malevoli o illegali, che dir si voglia?

    Chiedo questo ancora e poi chiudo qui il post, dopo la Vostra risposta, per evitare di dilungarmi poi oltre, in sterili polemiche di sorta.
    Vi ringrazio in anticipo, e attendo una vostra delucidazione.

  8. #8
    L'avatar di Gianluca
    Gianluca non è connesso Amministratore
    Data registrazione
    15-02-2001
    Messaggi
    18,035

    Predefinito

    Non capisco lo scopo di questa discussione.

    Non è AlterVista che decide quale sia la giurisprudenza in merito o l'atteggiamento della rete e di chi la amministra verso certe attività, forse non hai letto con attenzione quello che ti ho linkato (non lo abbiamo scritto noi ma proviene da nmap.org)

    AlterVista è una piattaforma per la creazione e l'hosting di siti web, se hai bisogno di mettere online un tool che faccia port-scanning dovrai rivolgerti altrove perché il servizio non è pensato né progettato per questo.

    Se invece vuoi creare un sito che tratta di port-scanning dove pubblichi tuo codice, tutorial, fai scaricare eventuali librerie tue o di terze parti di cui gli autori ne abbiano autorizzato la distribuzione non c'è nessun problema, e mai in alcuna occasione è stato detto il contrario.
    Gianluca

Tags for this Thread

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •