lolpop
Messages postés211Date d'inscriptionmercredi 4 août 2004StatutMembreDernière intervention18 octobre 2010
-
30 sept. 2007 à 22:29
lolpop
Messages postés211Date d'inscriptionmercredi 4 août 2004StatutMembreDernière intervention18 octobre 2010
-
7 oct. 2007 à 22:47
Bonjour,
j'ai un webbrowser qui navigue sur des page de mon site, je voudrai proteger l'access a ses page, c'est a dire je voudrai que l'on ne puisse y acceder que par le webbrowser, et non pas juste en tapant l'adresse dans la barre d'adresse d'internet explorer.
Y a t'il un moyen de faire cela, peu etre que la solution allie PHP et vb je ne sais pas du tout.
Il faudrais que tu lui passe en paramètre (à l'url) un code que seul ton application pourrait généré un code (différent a chaque fois) crypter et que ton script php puisse décoder.
GEDDi
Messages postés206Date d'inscriptionlundi 22 novembre 1999StatutMembreDernière intervention 3 juillet 2008 2 oct. 2007 à 09:38
Bonjour,
Au contraire, je dirais que c'est assez simple :)
Comme PHP est capable de générer une clef MD5, fais toi une petite fonction qui par exemple traduit en clef MD5 un mot clef.
En clair tu te dresses une liste de mots clef, genre banane, slip, camembert, potage, capotes et tranxène.
Pour chaque mot de ta liste, tu en tires son MD5, tu gardes cette liste MD5isée dans ton prog VB, et côté PHP quand tu vas passer un parametre dans l'URL, ton prog VB va simplement lui passer une des tes clefs MD5, coté code PHP, tu check si l'élement passé en parametre fait partie de ce mini dictionnaire, et tu acceptes ou non la transaction!
C'est on ne peut plus simple à réaliser!
Le problème de la liste de mots, c'est que depuis ton applications, on peut facilement trouver l'url de la page (avec ton code),
et donc, de retaper exactement la même dans un navigateur quelconque. D'ou, une génération d'une clés suivant l'heure, le jour, l'ip ou autre infos tout ca crypter. Et lors du décryptage, tu récupère l'heure et tu compare avec l'heure actuelle. (Il faudra autoriser un petit écart entre le temps de cryptage et celui de décryptage).
Si tu travaille en GMT avec des timestamp peut-être. Mais dans ce cas, celà dépendra de l'heure de la machine client.
Donc, le mieux je pense, faire un page php qui indique le timestamp actuelle, que ton programme va lire (sans passer par un webbrowser bien sur), et de la, tu fera la clé.
lolpop
Messages postés211Date d'inscriptionmercredi 4 août 2004StatutMembreDernière intervention18 octobre 2010 2 oct. 2007 à 22:47
Ce a quoi j'ai pensé, ce serai de créé une clé avec le logiciel selon un algorythme de cryptage et ensuite de décrypter la chaine en php et de vérifier si elle correspond a l'algo de cryptage.
Facile a dire mais pas a faire je n'ai jamais fait de crypage lol.
Un exemple de fonction, qui trainne dans mon fourbis mais qui a été prise/modifier ici :
Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" ( _
ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, _
ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
Private Declare Function InternetOpenUrl Lib "wininet.dll" Alias _
"InternetOpenUrlA" (ByVal hOpen As Long, ByVal sUrl As String, _
ByVal sHeaders As String, ByVal lLength As Long, ByVal lFlags As Long, _
ByVal lContext As Long) As Long
Private Declare Function InternetReadFile Lib "wininet.dll" ( _
ByVal hFile As Long, ByVal sBuffer As String, ByVal lNumBytesToRead As Long, _
lNumberOfBytesRead As Long) As Integer
Private Declare Function InternetCloseHandle Lib "wininet.dll" ( _
ByVal hInet As Long) As Integer
Private Const INTERNET_OPEN_TYPE_PRECONFIG As Long = &H0
Private Const INTERNET_FLAG_RELOAD As Long = &H80000000
Private Const WSA_SysStatusSize As Long = 128
Private Const WSA_DescriptionSize As Long = 256
Private Function DownloadFile(Url As String) As String
Const scUserAgent As String = "MF"
Dim hOpen As Long
Dim hOpenUrl As Long
Dim sReadBuffer As String * 2048
Dim lNumberOfBytesRead As Long
Dim sBuffer As String
hOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, _
vbNullString, 0)
hOpenUrl = InternetOpenUrl(hOpen, Url, vbNullString, 0, INTERNET_FLAG_RELOAD, _
0)
Do
sReadBuffer = vbNullString
Call InternetReadFile(hOpenUrl, sReadBuffer, Len(sReadBuffer), _
lNumberOfBytesRead)
sBuffer = sBuffer & Left$(sReadBuffer, lNumberOfBytesRead)
Loop While CBool(lNumberOfBytesRead)
If hOpenUrl <> 0 Then Call InternetCloseHandle(hOpenUrl)
If hOpen <> 0 Then Call InternetCloseHandle(hOpen)
DownloadFile = sBuffer
' Open "c:\tt.xml" For Output As #1
' Print #1, DownloadFile
' Close #1
End Function, ----
(Coloration syntaxique automatique par Kenji)
lolpop
Messages postés211Date d'inscriptionmercredi 4 août 2004StatutMembreDernière intervention18 octobre 2010 7 oct. 2007 à 21:29
merci pour ton code :)
Maintenant retour a la case départ lol comment crypter en vb pour décrypter en php pour quelqu'un qui n'a jamais fait de cryptage.
je vais regarde sur vbfrance si il y a des codes mais ca m'étonnerai.