Telechargement securise

cs_pendemonium Messages postés 11 Date d'inscription samedi 12 avril 2003 Statut Membre Dernière intervention 6 mars 2004 - 19 oct. 2003 à 02:21
cs_jamel Messages postés 7 Date d'inscription lundi 29 juillet 2002 Statut Membre Dernière intervention 27 juillet 2006 - 20 oct. 2004 à 13:10
Bonjour,

Qui peut resoudre mon probleme :

je réalise un site ou certains fichiers peuvent être téléchargement. Cependant apres avoir cliqué sur le fichier a telecharger je veux qu'une fenetre apparaisse en demandant le login et le mot de passe (ceux ci se trouveront dans une bibliotheque) suivant la réponse le fichier pourra etre enregistre.

Bref la meme chose qu'ici, quand je veux telecharger une source on me demande mon nom utilisateur. Merci pour vos réponses

11 réponses

syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 20
19 oct. 2003 à 10:39
Tu veux utiliser un langage de programmation pour réaliser cela ou souhaites-tu configurer ton Serveru Web pour faire ça ??
S.
0
cs_pendemonium Messages postés 11 Date d'inscription samedi 12 avril 2003 Statut Membre Dernière intervention 6 mars 2004
20 oct. 2003 à 00:02
bONJOUR?

Je veux utiliser un langage de programmation. Comme je suis super novice je ne savais même pas qu'on pouvait programmer son serveur web pour le faire, c'est dans ces moments que je vois tout ce que dois encore apprendre
0
cs_Metrox Messages postés 267 Date d'inscription jeudi 19 septembre 2002 Statut Membre Dernière intervention 8 septembre 2013
20 oct. 2003 à 13:21
Tu peux faire un truc dans ce genre (en cfm):

<cfif IsDefined('form.login')>
<cfquery name="query" datasource="tadb">select * from login where login #form.login# and password #form.password#
</cfquery>

<cfif #query.recordcount# neq 0>

téléchargement actif
<cfelse>
téléchargement inactif
</cfif>
<cfelse>

</cfif>

essaie avec ca, normalement, ca doit marcher!!!

Il peut y avoir de petites erreurs, je n'ai pas testé...

M@x ---> Go on www.metrox.be
0
cs_pendemonium Messages postés 11 Date d'inscription samedi 12 avril 2003 Statut Membre Dernière intervention 6 mars 2004
21 oct. 2003 à 08:59
Salut,

ton code fonctionne, par contre tu sais comment ouvrir une popup en cfm, plutot qu'une page j'aimerai que la demande de code apparaisse dans une popup

Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
norbs33 Messages postés 3 Date d'inscription dimanche 2 novembre 2003 Statut Membre Dernière intervention 3 décembre 2003
3 déc. 2003 à 01:47
Le code fonctionne sûrement, par contre ce n'est pas suffisant pour sécuriser des téléchargements de fichiers non cfm : quelqu'un qui connaît un lien direct vers un fichier doc pourra le télécharger depuis ton site.

Une méthode que j'ai utilisée pour gérer cela est d'utiliser un fichier cfm qui fait un cffile sur le fichier à télécharger (ce fichier étant hors de l'arborescence Web), et met à jour le content-type (cfheader) suivant le type de fichier lu.

Un autre problème est qu'il te faut conserver dans une variable de session (ou un cookie) le fait que l'utilisateur est identifié pour lui éviter d'avoir à taper tt le temps ses login et password.

Voili,
0
cs_pendemonium Messages postés 11 Date d'inscription samedi 12 avril 2003 Statut Membre Dernière intervention 6 mars 2004
3 déc. 2003 à 09:50
Bonjour,

je te remercie pour cette précision, penses tu que si je mets une page htpaccees dans mon répertoire cela n'est pas plus simple ?

Concernant les cookies ce n'est pas vraiment un problème, j'avais prévu de les programmer de toute façon.

Par contre penses tu qu'il soit possible que suivant les mots de passe utilisés la liste des fichiers à télécharger soit différente. Je mets dans une base de données les différents chemins est nom de fichier, un mot de passe et une requête qui en fonction du mot de passe m'affiche la liste des téléchargement possible ?
0
cs_Metrox Messages postés 267 Date d'inscription jeudi 19 septembre 2002 Statut Membre Dernière intervention 8 septembre 2013
3 déc. 2003 à 13:13
Ce que tu peux faire, c'est faire un <cffile action="copy"> et quand c fait, le fichier est téléchargeable et quand la session expire, alors, tu supprimes le fichier que tu as copié dans ton wwwroot si ta iis...

ce que tu peux faire pr ta liste, c'est tu crées une table appelée fichiers
et dedans tu mets une colonne nom, une colonne fichier et une colonne droit

si droit=1
<cfquery="maquery">
select * from fichiers where droit=1
</cfquery>
<cfoutput query="maquery">
<cffile action="copy" source="#fichier#" destination="C:Inetpub:wwwroot:#nom#">
#nom#
</cfoutput>

Ya ptet des fautes!
et tu crées une variable de session et tu lui dit que quand sa expire tu vires le fichier...

M@x ---> Go on www.metrox.be
0
norbs33 Messages postés 3 Date d'inscription dimanche 2 novembre 2003 Statut Membre Dernière intervention 3 décembre 2003
3 déc. 2003 à 16:18
Hello,

La solution de metrox est Ok pour avoir une liste de fichiers téléchargeables pour un droit donné (et non pas un mot de passe qui doit pouvoir être changé par l'utilisatreur), chaque login étant associé à des droits.

Par contre le fait de copier les fichiers dans l'arbo Web à la demande ne me semble pas une bonne idée : pendant toute la session de l'utilisateur, les fichiers seront dispos pour quiconque connaît l'URL. De plus en cas de crash du serveur, ou de reboot, les fichiers de l'arbo Web ne seront pas nettoyés (du poins pas automatiquement).

Mettre une page httpaccess ne fonctionne pas sur IIS (du moins à ma connaissance) et le problème est que les fichiers httpsacces sont "statiques", càd ne dépendent pas directement d'une BDD.

Pour être plus clair, la solution que je te propose est la suivante (marche pour des fichiers word, sinon changer la ligne cfcontent suivant le type de fichier à télécharger). Attention ce code n'est pas testé, il y a peut-être des bricoles à remettre en forme :

Dans la page listeFichier.cfm :
<cfquery="maquery">
select nom from fichiers where droit=#droit#
</cfquery>
<cfoutput query="maquery">
[download.cfm?fichier=#urlencodeformat(nom)# #nom#]
</cfoutput>

Dans la page download.cfm :
<cfset chemin = "c:\telechargement">
<cfquery="maquery">
select count(nom) from fichiers where droit=#droit# AND nom=#url.fichier#
</cfquery>
<cfif maquery.recordcount neq 0>
<!--- OK --->
<cffile action="readbinary" file="#chemin#/#nom#" variable="contenu">
<cfheader name="Content-Disposition" value="filename="+#nom#>
<cfcontent type="application/msword">
<cfoutput>#contenu#</cfoutput>
<cfelse>
Ce site est sécurisé.
</cfif>
0
cs_Metrox Messages postés 267 Date d'inscription jeudi 19 septembre 2002 Statut Membre Dernière intervention 8 septembre 2013
3 déc. 2003 à 16:42
Ta tout a fait raison! j'avais pas envisagé ces cas-là ;-)

Ta technique est en effet, bcp mieux et bcp moins risquée =)

M@x ---> Go on www.metrox.be
0
norbs33 Messages postés 3 Date d'inscription dimanche 2 novembre 2003 Statut Membre Dernière intervention 3 décembre 2003
3 déc. 2003 à 16:50
D'ailleurs y'a un bug, je corrige :
<cfquery= "maquery">
select count(nom) from fichiers where droit=#droit# AND nom=#url.fichier#
</cfquery>
<cfif maquery.recordcount neq 0>

devient

<cfquery="maquery">
select count(nom) ]AS compte from fichiers where droit =#droit# AND nom=#url.fichier#
</cfquery>
<cfif maquery.compte neq 0>
0
cs_jamel Messages postés 7 Date d'inscription lundi 29 juillet 2002 Statut Membre Dernière intervention 27 juillet 2006
20 oct. 2004 à 13:10
je souhaite avoir des reponses sur les codes des chaines tel que : TPS, multivisions, RTL9 ..[mailto: mailto:]
0
Rejoignez-nous