Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,746

    Pericoli nell'esecuzione di Python con Php

    Mi trovo a dover eseguire tramite Php un file con uno script in Python per comandare l'output di un pin GPIO della Raspberry pi da Internet.

    1.
    Per poter eseguire il file ho dovuto dare i permessi necessari a www-data con la seguente modifica in sudoers
    codice:
    www-data ALL=PYTHON,NOPASSWD: ALL
    il codice Php per l'esecuzione del file è
    Codice PHP:
    $handle popen("sudo python /var/www/domotica/script.py","r") ;
    pclose($handle) ; 
    Siccome uso la Raspberry pi connessa ad Internet come micro server che rischi posso correre con i permessi dati anche se l'accesso sarà protetto con htaccess?

    2.
    Sempre usando Php+Python come potrei risolvere mantenendo una maggiore sicurezza?

    Pensavo che con Php potevo creare un semplice file di testo con dentro scritto 1 oppure 0 in rapporto allo stato che desidero far assumere al pin e poi il programma Python potrebbe ogni minuto controllare il contenuto del file ed agire di conseguenza.

    è un'idea sensata o si potrebbe fare diversamente?
    Errare humanum est, perseverare ovest

  2. #2
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,746
    UP
    Errare humanum est, perseverare ovest

  3. #3
    Ciao,
    non so se puo esserti utile ma ...
    Codice PHP:
     protected function _pipeExec($cmd,$input='')
        {

            
    $proc=proc_open($cmd,array(0=>array('pipe','r'),1=>array('pipe','w'),2=>array('pipe','w')),$pipes);
            
    fwrite($pipes[0],$input);
            
    fclose($pipes[0]);
            
    $stdout=stream_get_contents($pipes[1]);
            
    fclose($pipes[1]);
            
    $stderr=stream_get_contents($pipes[2]);
            
    fclose($pipes[2]);
            
    $rtn=proc_close($proc);
            return array(
                    
    'stdout'=>$stdout,
                    
    'stderr'=>$stderr,
                    
    'return'=>$rtn
                   
    );
        } 
    questo è quello che uso per avviare uno script in python
    per la generazione di pdf via php


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  4. #4
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,746
    Tu usi proc_open() che non è poi tanto diverso da popen(), ma riesci ad eseguire python senza dare i permessi di root a www-data?
    Errare humanum est, perseverare ovest

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.