IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

exec, shell_exec, fopen, fwrite, system, etc sont disable pour raison de securite


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Mars 2013
    Messages : 11
    Par défaut exec, shell_exec, fopen, fwrite, system, etc sont disable pour raison de securite
    bonjour
    les cdes exec, system, fopen, etc sont disable pour des raisons de sécurité et je ne trouve pas le moyen de contourner ce blocage
    pouvez-vous m' aider ? merci
    le script suivant fonctionne en mode console et bloque sur le site web :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    //////////////////////////////ceci marche! en mode console
    exec("stty -F  /dev/ttyUSB0 9600 ");
    $fp = fopen('/dev/ttyUSB0','w'); //use this for Linux
    echo $fp;
    fwrite($fp, $string_to_send); //write string to serial
    fclose($fp);

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    A quoi servirait le blocage s'il était possible de le contourner ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Mars 2013
    Messages : 11
    Par défaut
    Citation Envoyé par sabotage Voir le message
    A quoi servirait le blocage s'il était possible de le contourner ?
    a priori ce serait Apache2 qui bloque...
    dans ce cas on fait comment pour écrire sur 1 port usb ?

  4. #4
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Mars 2013
    Messages : 11
    Par défaut
    voici les msg renvoyés par PHPTESTER:
    WARNING exec() has been disabled for security reasons on line number 3
    WARNING fopen() has been disabled for security reasons on line number 4
    NOTICE Undefined variable: string_to_send on line number 6
    WARNING fwrite() has been disabled for security reasons on line number 6
    WARNING fclose() has been disabled for security reasons on line number 7

    et dans le php.ini :
    safe_mode = Off
    disable_functions = ""
    ;safe_mode_exec_dir = /var/www
    ;open_basedir = /var/www

    y a t il un autre parametre qui bloque ces cmd ?

    n étant pas un expert en PHP ni Apache, je sollicite votre aide
    merci

  5. #5
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Il s'agit de ton serveur personnel ? d'un hébergeur dédié ? d'un hébergeur mutualisé ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  6. #6
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Il n'ya pas de solution , ton hebergeur fait le choix de désactiver ces fonctions , tu n'y auras donc pas accès.
    C'est assez typique des hébergements mutualisés.

    Ton php.ini n'est propablement qu'un "sous" php.ini qui n'autorise la réecriture que de certains règles.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre émérite
    Femme Profil pro
    Autre
    Inscrit en
    Janvier 2017
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Janvier 2017
    Messages : 340
    Par défaut
    Bonjour,
    Citation Envoyé par rol50 Voir le message
    le script suivant fonctionne en mode console et bloque sur le site web :
    En mode console, ce n'est pas forcément le même php.ini qui est utilisé (probablement celui du dossier php).

    Avec php_info, vous devriez voir le php.ini utilisé sur le serveur local (dans Apache sans doute).
    Dans ce fichier, regardez l'entrée "disable_functions".

  8. #8
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Mars 2013
    Messages : 11
    Par défaut
    voici ce que me dit phpinfo:
    Configuration File (php.ini) Path /etc/php/7.0/apache2
    Loaded Configuration File /etc/php/7.0/apache2/php.ini

  9. #9
    Membre émérite
    Femme Profil pro
    Autre
    Inscrit en
    Janvier 2017
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Janvier 2017
    Messages : 340
    Par défaut
    Avec phpinfo, il devrait y avoir également une ligne "disable_functions".
    Des fonctions apparaissent ?

    Sinon, on peut éventuellement tenter cette manipulation :
    Si ça marche en mode console, alors voir quel est le php.ini utilisé dans ce mode : dans la console taper php --ini.
    Le "Loaded Configuration File" est différent ?
    Si oui, alors on peut essayer de le cibler :
    Dans Apache, il devrait y avoir un fichier : conf/httpd.conf
    Dans ce fichier, il y a peut-être une ligne en commentaire #PHPIniDir c:/...
    Enlever le #, mettre le chemin du php.ini du mode console, exemple : PHPIniDir c:/php7
    Si elle n'y est pas, il faudra l'ajouter.
    Ensuite, redémarrez le serveur et tester en vérifiant d'abord que dans le phpinfo c'est bien le nouveau fichier qui est pris en compte.

    Si ça ne marche toujours pas, il faudra faire des recherches approfondies sur google ou carrément tenter de configurer un nouveau serveur local.

  10. #10
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Mars 2013
    Messages : 11
    Par défaut
    merci de ta réponse
    mais les seules info que j'ai trouvé sont listées plus haut et je n'ai pas trouve d'autre php.ini
    ma config actuelle : Debian Stretch , Apache 2.4, PHP7.0
    je vais tester avec lighhtp....ou nginx on verra bien

  11. #11
    Membre habitué
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2013
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Mars 2013
    Messages : 11
    Par défaut
    bonjour
    j'ai testé avec NGINX et le pb est le même
    donc le pb vient bien de PHP qui invalide toutes les fonctions système, exec, shell_exec, fopen, fwrite , etc...
    suis-je le seul à vouloir écrire sur un port USB ?

Discussions similaires

  1. Fopen, fwrite et droits linux apache2
    Par masseur dans le forum Réseau
    Réponses: 1
    Dernier message: 24/10/2007, 11h28
  2. qu'est que les < system. etc> en debut de fct
    Par dietrich dans le forum VB.NET
    Réponses: 6
    Dernier message: 12/01/2007, 09h50
  3. Lister tous les triggers qui sont DISABLE
    Par mpeppler dans le forum Oracle
    Réponses: 2
    Dernier message: 23/08/2006, 10h05
  4. MAJ de données d'un fichier (fopen,fwrite)
    Par PedroBD dans le forum Langage
    Réponses: 8
    Dernier message: 03/07/2006, 14h27
  5. [Appli Console]Pb exec command ac fct system(const char *)
    Par Le_magicien999 dans le forum MFC
    Réponses: 2
    Dernier message: 16/08/2005, 16h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo