Cgi d'authentification apache à la volée (vbs donc sous windows)

Contenu du snippet

voici un script qui permet de modifier l'identifiant du fichier .htpassword de l'authentification apache et ceci à la volée cette identifiant est envoyé par mail des que l'internautre ce connecte il lui reste plus que à faire un copier coller de l'identifiant recu par mail et il se connecte.

biensur il faut faire appel a ce script via une page html
dans mon cas j'utilise le SSI d'apache pour executer ce script

pourquoi ce script:
tout simplement afin d'éviter que les personne ce connectant à mon site ce passe des identifiants fixes.

Source / Exemple :


lettres = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
nLettres = Len(lettres)
pwd = ""

randomize 

for i = 1 to 12
    car = int(nLettres * rnd + 1)
    pwd = pwd + Mid(lettres,car,1)
next 

'affiche le mot de passe
'Inputbox "","Generated Password",pwd

On Error Resume Next 

Dim OFS, MonFichier, FR, textCont 

'1 je cr?la r?rence du fichier 
Set OFS = CreateObject("Scripting.FileSystemObject") 
'2 je vais obtenir le fichier toto.txt qui est dans le r?rtoire windows. 
Set Monfichier = OFS.GetFile("C:\Program Files\Apache Software Foundation\Apache2.2\secret\password.txt") 
'3 maintenant je vais ouvrir le fichier en lecture 
Set FR = Monfichier.OpenAsTextStream( 1,0) 
'4 je vais maintenant obtenir 12 caract?s du fichier fichier donc le login . 
textCont = FR.Read(12) 
'5B Je ferme le fichier. 
FR.Close

Const ForReading = 1, ForWriting = 2, ForAppending = 8
Dim fso, f
Dim st
Set fso = CreateObject("Scripting.FileSystemObject")

'Ouverture et lecture du fichier ?odifier
Set f = fso.OpenTextFile("C:\Program Files\Apache Software Foundation\Apache2.2\secret\password.txt", ForReading)
st = f.readAll
f.Close

'ecriture du fichier modifier... apr?avoir remplacer "Salut" par "bonjour"..
Set f = fso.OpenTextFile("C:\Program Files\Apache Software Foundation\Apache2.2\secret\password.txt", ForWriting)
f.Write replace(st,textCont,pwd)
f.close
' envois du mail avec identifiant
Set objEmail = CreateObject("CDO.Message")
objEmail.From = "mail de lexpediteur@login.com"
objEmail.To = "mai du destinataire@login.com"
objEmail.Subject = " sujet du mail :Identifiants du site https://xxx.com ne pas à répondre ce mail" 
objEmail.Textbody = "Bonjour"& vbCrLf &""& vbCrLf &"Ci joint les nouveaux identifiants du site" & vbCrLf &"Nom d'utilisateur: "& pwd & vbCrLf &"mot de passe : ne saisir aucun mot de passe"& vbCrLf &""& vbCrLf&"Cordialement"& vbCrLf &"Keaoner"
objEmail.Configuration.Fields.Item _
      ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objEmail.Configuration.Fields.Item _
      ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
objEmail.Configuration.Fields.Item _
      ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = _
           "smtp.DU_FAI.fr" 
objEmail.Configuration.Fields.Item _
      ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objEmail.Configuration.Fields.Update
objEmail.Send

Conclusion :


aucune

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.