Bonsoir,
j'ai un petit soucis avec mon application, que je cherche à sécuriser un peu car elle doit communiquer avec un serveur web. Jusque là je demandais le serveur http://www.domaine.com et tout allait bien
Le problème qui a été évoqué, c'est que par exemple si dans le fichier HOSTS, on modifie l'adresse IP correspondant au domaine du serveur, on pourrait détourner le logiciel en l'adressant a un serveur web 'pirate'
Ce que je voudrais donc, c'est accéder au serveur directement par son IP
mais ca serait trop simple si ca fonctionnait comme ca, et ce serveur a des Vhosts, et du coup quand je tape l'ip, le site affiché n'est pas le bon
j'ai donc jetté un oeil du coté des en-têtes HTTP, et j'ai trouvé mon bonheur: il y a un en-tête Host qui correspondrait bien à ce que je veux
il me suffirait donc dans l'url de mettre l'ip, et de rajouter le header Host où j'indiquerais le nom du domaine (et je pense que le serveur s'en servira pour m'afficher le vhost correspondant)
seulement quand je décommente la ligne où j'ajoute le host, j'ai un message d'erreur: Une exception s'est produite lors d'une demande Webclient
Ext-ce qu'il y aurait quelque chose que j'aurais oublié ou mal fait?
Code :
- ' dataBytes = requete POST, déjà renseignée
- dim URL as string = "http://xxx.xxx.xxx.xxx/
- Dim client As WebClient = New WebClient
- 'client.Headers.Ad("Host", "www.domaine.com" )
- client.Headers.Add("content-type", "application/x-www-form-urlencoded" )
- Dim returnedBytes() As Byte = client.UploadData(URL, dataBytes)
|
ps: ce n'est pas que mon programme requiert une sécurité a toute épreuve, mais c'est surtout que j'ai envie de faire les choses bien, et par la même apprendre un peu mieux
éventuellement, s'il y a une autre manière de procéder, je suis preneur (par contre il faut absolument que je puisse envoyer des données en POST)