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 :

[Sécurité] Sécuriser une connexion à un PHP


Sujet :

Langage PHP

  1. #1
    Membre averti
    Inscrit en
    Février 2007
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 15
    Par défaut [Sécurité] Sécuriser une connexion à un PHP
    Salut
    Comment peux-je sécuriser une connexion à un serveur qui ne supporte pas aucun protocole de cryptage (SSL...) en utilisant le PHP

  2. #2
    Membre émérite
    Inscrit en
    Janvier 2005
    Messages
    711
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 711
    Par défaut
    a mon avis tu ne peux pas.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 82
    Par défaut
    Ou ça dépend de ton niveau de tolérance en matière de sécurité

    @++

  4. #4
    Membre averti
    Inscrit en
    Février 2007
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 15
    Par défaut
    J'ai pas beaucoup d'experiance en PHP mais je croix que theoriuquement c'est possible:
    Mon idée:
    0- Debut crypt_php
    1- Après la requete de la page
    crypter son cotenu
    2- Ce contenu est arrivé crypté alors on utilise un outil en local pour le décrypter
    3- Fin

    Ou simplement le protéjer par un password puis pour visualiser on utilise ce password.

    Je sais que le theorique est plus facile que le pratique mais s'il vous plait c'est extremement important...

  5. #5
    Membre émérite
    Inscrit en
    Janvier 2005
    Messages
    711
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 711
    Par défaut
    Tout depend du contexte :

    est ce que tu veux crypter la connexion dans les 2 sens, par exemple por une transaction bancaire ? -> oublie.

    si par contre tu ne souhaite QUE transmettre quelque documents a quelque personne a qui tu pourras donner un mot de passe par un moyen sur ou qui possedent une paire de cle RSA alors dans ce cas c'est possible, php integre des fonction de cryptage. mais dans ce cas en effet il faut que le document soit telechargé puis decrypté en local. regarde la doc de mcrypt.

  6. #6
    Membre émérite
    Inscrit en
    Janvier 2005
    Messages
    711
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 711
    Par défaut
    en fait, tu peux meme via RSA etendre ce prncipe pour permettre a un grand nombre de personne de telecharger un document crypté :

    l'utilsateur installe gnupg et genere une paire de cle RSA
    quand il veut telecharger le document, il entre sa cle publique dans un formulaire
    un script PHP recupre cette clé publique et crypte le document, puis il lance le telchargement
    l'utilsateur decrypte le fichier en local grace a gnupg.

    je pense que c'est la mons mauvaise solution.

    en ait, la vraie question est :
    - combein de personne vont utiliser ce service, et ces personne sont elle connue de toi ? si ce n'est que quelque copains, un fichier crypté grace a un mot de passe peut suffire. sinon suis le protocole ci dessus.

  7. #7
    Membre averti
    Inscrit en
    Février 2007
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 15
    Par défaut
    je veux crypter la connexion dans les 2sens...
    ce service est utiliser seulement par moi...

    NB je suis la seule à pouvoir le visualiser pour cela j'ai utiliser ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
     
    ###############################################################
    # Usage:
    # Set usernames / passwords below between SETTINGS START and SETTINGS END.
    # Open it in browser with "help" parameter to get the code
    # to add to all files being protected. 
    #    Example: password_protect.php?help
    # Include protection string which it gave you into every file that needs to be protected
    #
    ###############################################################
     
    /*
    -------------------------------------------------------------------
    SAMPLE if you only want to request login and password on login form.
    Each row represents different user.
     
    $LOGIN_INFORMATION = array(
      'zubrag' => 'root',
      'test' => 'testpass',
      'admin' => 'passwd'
    );
     
    --------------------------------------------------------------------
    SAMPLE if you only want to request only password on login form.
    Note: only passwords are listed
     
    $LOGIN_INFORMATION = array(
      'root',
      'testpass',
      'passwd'
    );
     
    --------------------------------------------------------------------
    */
     
    ##################################################################
    #  SETTINGS START
    ##################################################################
     
    // Add login/password pairs below, like described above
    // NOTE: all rows except last must have comma "," at the end of line
    $LOGIN_INFORMATION = array(
      'user' => 'XXXXXXXX'
    );
     
    // request login? true - show login and password boxes, false - password box only
    define('USE_USERNAME', true);
     
    ##################################################################
    #  SETTINGS END
    ##################################################################
     
     
    ///////////////////////////////////////////////////////
    // do not change code below
    ///////////////////////////////////////////////////////
     
    // show usage example
    if(isset($_GET['help'])) {
      die('Include following code into every page you would like to protect, at the very beginning (first line):<br>&lt;?php include("' . __FILE__ . '"); ?&gt;');
    }
     
    // logout?
    if(isset($_GET['logout'])) {
      setcookie("verify", ''); // clear password;
      die("Logged out.");
    }
     
    if(!function_exists('showLoginPasswordProtect')) {
     
    // show login form
    function showLoginPasswordProtect($error_msg) {
    ?>
    <html>
    <head>
      <title>Please enter password to access this page</title>
      <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
      <META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
    </head>
    <body>
      <style>
        input { border: 1px solid black; }
      </style>
      <form method="post">
        <h3>Please enter password to access this page</h3>
        <font color="red"><?php echo $error_msg; ?></font><br />
    <?php if (USE_USERNAME) echo 'Login:<br /><input type="input" name="access_login" /><br />Password:<br />'; ?>
        <input type="password" name="access_password" /><p></p><input type="submit" name="Submit" value="Submit" />
      </form>
      <br />
    </body>
    </html>
     
    <?php
      // stop at this point
      die();
    }
    }
     
    // user provided password
    if (isset($_POST['access_password'])) {
     
      $login = isset($_POST['access_login']) ? $_POST['access_login'] : '';
      $pass = $_POST['access_password'];
      if (!USE_USERNAME && !in_array($pass, $LOGIN_INFORMATION)
      || (USE_USERNAME && ( !array_key_exists($login, $LOGIN_INFORMATION) || $LOGIN_INFORMATION[$login] != $pass ) ) 
      ) {
        showLoginPasswordProtect("Incorrect password.");
      }
      else {
        // set cookie if password was validated
        setcookie("verify", md5($pass));
      }
     
    }
     
    else {
     
      // check if password cookie is set
      if (!isset($_COOKIE['verify'])) {
        showLoginPasswordProtect("");
      }
     
      // check if cookie is good
      $found = false;
      foreach($LOGIN_INFORMATION as $kay=>$val) {
        if ($_COOKIE['verify'] == md5($val)) {
          $found = true;
          break;
        }
      }
      if (!$found) {
        showLoginPasswordProtect("");
      }
     
    }
     
    ?>

  8. #8
    Membre émérite
    Inscrit en
    Janvier 2005
    Messages
    711
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 711
    Par défaut
    je crois qu'il va falloir que tu nous exlique exactement ce que tu veux faire. je crois qu'on est d'accord sur le fait que tu e pourras pas naviguer de facon transparente avec une connexion dans les 2 sens... donc il va falloir du bricolage avec des outils en local. donc : que veux tu faire ? est ce que TOUT doit etre crypté, ou seulement certain truc ? qu'est ce que tu dois envoyer, et qu'est ce que tu dois recevoir de facon cryptée ?

Discussions similaires

  1. [Sécurité] Devenir une pro de PHP
    Par mademoizel dans le forum Langage
    Réponses: 6
    Dernier message: 20/01/2008, 20h26
  2. [Sécurité] sécuriser une page
    Par samsso2006 dans le forum Langage
    Réponses: 1
    Dernier message: 21/05/2007, 13h10
  3. [Sécurité] Sécuriser ma connexion SQL
    Par commedab dans le forum Langage
    Réponses: 2
    Dernier message: 30/03/2007, 13h05
  4. [Sécurité] Tracer une connexion
    Par jc_cornic dans le forum Langage
    Réponses: 2
    Dernier message: 17/01/2007, 00h03
  5. Réponses: 7
    Dernier message: 12/01/2006, 21h50

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