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 :

ouvrir un fichier distant - via site web securise ou via adresse serveur?


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2010
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 36
    Points : 25
    Points
    25
    Par défaut ouvrir un fichier distant - via site web securise ou via adresse serveur?
    Bonjour,

    J'ai trouve pas mal d'informations, mais je reste perdue
    J'explique la situation:
    - beaucoup de documents sont stockés et accessible via un site intranet sécurisé (j'ai en ma possession mot de passe et nom d'utilisateur)
    - ce site "enregistre" les fichiers en utilisant une sorte "d'index", ex: "http://nomdusite/Default.aspx#doc/file/158456" alors que c'est un fichier excel (il faut clicker sur le bouton droit de la sourie pour ouvrir le document ou le télécharger)
    - toutes les informations relatives a cet "index" sont dans une base de données a laquelle je peux me connecter
    - ces fichiers sont stockes proprement dans un dossier F:\blablabla sur un serveur (serveur A) dont j'ai l'adresse IP, mais ce n'est pas un dossier partage

    A cote de cela, j'ai un autre serveur (serveur B) ou se construit un site web en php, il serait intéressant de pouvoir ouvrir certains fichiers bien précis présent sur le serveur A depuis le serveur B.
    Pour éviter de copier en double les fichiers du serveur A il me faut un moyen d'y accéder.

    Mais du coup je me demande si la meilleure option est:
    - de se connecter directement au serveur, je n'ai pas encore trouve quel est le code pour cela
    - passer par le site web sécurisé (donc il faut une authentification, et je n'ai pas encore réussi cette étape la)
    - passer par la base de données (on ne sait jamais...)

    Voila, si une bonne âme pouvait m’éclairer j'en serai ravie ^^

    Phpement,


    Celine

  2. #2
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    Bonjour pour ma part, je mixerais 2 solution, tu regardes dans la base de données l'index du fichier que tu veux ouvrir, et tu redirige vers le lien "http://nomdusite/Default.aspx#doc/file/158456".L'utilisateur rentre alors les identifiants et mot de passe qu'il faut pour accéder au fichier

    Autre solution, tu pourrais mettre en partage le dossier qui contient les fichiers.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mai 2010
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 36
    Points : 25
    Points
    25
    Par défaut
    Merci
    Mais si justement je veux éviter a l'utilisateur de rentrer un mot de passe?
    C'est pour accéder a des documents qui n’intéressent pas grand monde mais qui sont importants, alors si en plus il y a le mot de passe comme barrière... Un utilisateur est souvent flemmard a ma connaissance
    Un dossier partage n'est il pas plus risque niveau sécurité?


    Celine

  4. #4
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    Tu peux mettre une page de telechargement .php qui est proteger par un mot de passe et qui retourne le fichier demander, par exemple tu fait un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("Location: page.php?user=toto&mdp=bobby");
    je pense pas que sa soit terrible mais bon sa peut-etre une solution pour des fichiers sans grandes importance

    La meilleur technique serait je pense de stcoker les fichier directement dans la base de donnee et y acceder en php distant

  5. #5
    Membre actif Avatar de Retrokiller069
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 217
    Points : 296
    Points
    296
    Par défaut
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("Location: page.php?user=toto&mdp=bobby");


    je ne pense pas que cette solution soit très sécurisé, avec ta méthode tu mets en claire l'ID et le mot de passe. En revanche j'opterai pour la solution 3 (dans la base données). Si tu as le liens et leur mot de passe associé tu peux aussi bien le faire sans que l'utilisateur ne le voit...

  6. #6
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    Le code ne se voit que si tu accede au site hors, pour acceder au site, tu rentre ton mots de passe et ton login; conclusion:

    Ce lien ne sera visible que si on a deja rentré le login et e mot de passe, donc rien de secret

  7. #7
    Nouveau membre du Club
    Inscrit en
    Mai 2010
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 36
    Points : 25
    Points
    25
    Par défaut
    Merci pour toutes ces reponses

    Par contre je ne suis pas claire sur un truc :S Si je passe par la base de donnees, comment ouvrir le fichier alors qu'il est sur un autre server... Le probleme reste le meme, non?
    Je fais une requete SQL et j'utilise un fopen sur le resultat?? Ca marche ca? Je m'en vais essayer ca...

    Pour la connexion "securisee" j'avais essaye le code ci-dessous (j'ai du trouver ce code sur php.net/manual, mais je ne suis plus tellement sur... avec toutes ces recherches) l'avantage c'est que c'est moins visible... mais dans mon cas ca creait un bazare monstre que je ne voulais pas (ca peut etre utile pour d'autre)

    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
     
    /submit login form: (url, post data, extra headers (optional))
    //do not put  http into URL, just domain name
    $mycookies = GetCookies("www.domain.com/login.aspx",
    "password=mdp2&username=user&submit=LOGIN&set=Y","");
    //some extra params if you need them
    // echo "Cookies:<br><pre>\n".$mycookies."\n</pre>";
    //$body =PostPage("www.example.com/coolpage.asp",
    //"action=zzz",$mycookies);
    //echo "<br>Body:<br>\n".$body."\n";
    //im using get page - so it goes like this:
    $opts = array('http'=>array('method'=>"GET",
    'header'=>"Accept-language: en\r\nCookie: ".$mycookies."\r\n" ));
    $context = stream_context_create($opts);
    $fp = fopen('http://www.domain.com/Default.aspx#doc/file/47702', 'r', false, $context);
    fpassthru($fp);
    $html = fread($fp, 1000000);
    fclose($fp);
    echo $html;
     
    function PostPage($host,$query,$others=''){
       $path=explode('/',$host);
       $host=$path[0];
       unset($path[0]);
       $path='/'.(implode('/',$path));
    $post="POST $path HTTP/1.1\r\nHost: $host\r\n";
    $post.="Content-type: application/x-www-form-";
    $post.="urlencoded\r\n${others}";
    $post.="User-Agent: Mozilla 4.0\r\nContent-length: ";
    $post.=strlen($query)."\r\nConnection: close\r\n\r\n$query";
       $h=fsockopen($host,80);
       fwrite($h,$post);
       for($a=0,$r='';!$a;){
           $b=fread($h,8192);
           $r.=$b;
           $a=(($b=='')?1:0);
       }
       fclose($h);
       return $r;
    }
    function GetCookies($host,$query,$others=''){
       $path=explode('/',$host);
       $host=$path[0];
       unset($path[0]);
       $crlf = "\r\n";
       $path='/'.(implode('/',$path));
       $post="POST $path HTTP/1.1\r\nHost: $host\r\n";
    $post.="Content-type: application/x-www-form-urlencoded\r\n${others}";
    $post.="User-Agent: Mozilla 4.0\r\nContent-length: ";
    $post.=strlen($query)."\r\nConnection: close\r\n\r\n$query";
       $h=fsockopen($host,80);
       fwrite($h,$post);
       $r="";
       for($a=0;!$a;){
           $b=fread($h,512);
           echo $b;
           $r.=$b;
           $gotSession=strpos($r,"ASPSESSION");
       if($gotSession)
          if(strpos($r, $crlf . $crlf,$gotSession)>0) break;
           $a=(($b=='')?1:0);
       }
       fclose($h);
       $arr = split("Set-Cookie:",$r);
       $AllCookies="";$count=1;
       while ($count < count($arr)) {
    $AllCookies.=substr($arr[$count].";",
    0,strpos($arr[$count].";",";")+1);
     
     $count++;}
       return $AllCookies;
     
    }
    Encore merci,


    Celine

Discussions similaires

  1. [AC-2010] Gérer les fichiers d'un site web via access.
    Par Geache dans le forum Access
    Réponses: 1
    Dernier message: 10/02/2014, 13h34
  2. Recherche d'un outil analyser les dépendances entres les fichiers d'un site web PHP
    Par nkdb dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 06/01/2007, 21h38
  3. [PDF] Ouvrir des fichiers PDF dans page Web
    Par ludoweb dans le forum Bibliothèques et frameworks
    Réponses: 12
    Dernier message: 07/09/2006, 09h13
  4. Comment heberger son site web sur xp via IIS
    Par cortex024 dans le forum Windows XP
    Réponses: 3
    Dernier message: 16/02/2006, 10h22
  5. Fichiers .nsf sur site web, c'est quoi ?
    Par vanmouniren dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 16/10/2005, 11h04

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