Archive février 2009
Tous les articles archivés pour le mois et l'année demandée.
Bloquer une IP dans IIS
Pour bloquer une Ip dans IIS, rien de plus simple :
- Lancez la console IIS

- Click droit sur le nom de domaine

- Cliquez sur Adresses Ip et restrictions dans l'onglet Sécurité

- Ensuite, ajouter une IP, un groupe d'IP ou un nom de domaine




Gérer les renvois selon le type de navigateur web
Nous allons vous faire découvrir ce script qui permet de renvoyer le visiteur sur une page spécifique en fonction du navigateur et de la version utilisés.C’est l’équivalent d’une fonction très courante en JavaScript, mais elle est traitée ici côté serveur et fonctionne don avec tous les navigateurs, même ceux qui ne traitent pas le langage JavaScript
Voici le script :
<%
Strval = Request.ServerVariables(” HTTP_USER_AGENT”)
If (Instr(1, Strval, ” AOL 3 ”, 1) <> 0) Then
Response.Redirect ” aol.asp ”
Elself ( Instr(1, Strval, ” MSIE 3 ”, 1) <> 0) Then
Response.Redirect ” IE3.asp ”
Elself ( Instr(1, Strval, ” MSIE 4 ”, 1) <> 0) Then
Response.Redirect ”IE4.asp ”
Elself ( Instr(1, Strval, ” MSIE 5 ”, 1) <> 0) Then
Response.Redirect ”IE5.asp ”
Elself ( Instr(1, Strval, ” Mozilla/4 ”, 1) <> 0) Then
Response.Redirect ” netscape4.asp ”
Else
Response.Redirect ”netscape3.asp ”
End If
%>
Dans ce script on teste l’identifiant de navigateur Web grâce à la fonction Request.ServerVariables(” http_USER_AGENT ”). Ensuite on cherche dans cet identifiant différentes chaines de caractères qui correspondent aux navigateurs les plus connus. Pour finir, on renvoie vers une page différente à l’aide de la fonction Response.Redirect vers une nouvelle page chaque fois. Cela permet d’obtenir des pages différentes pour chaque version de navigateur.
Utiliser les cookies
Les cookies peuvent se révéler très pratiques pour certaines applications. La gestion des cookies avec PHP peut être très simple comme le montre l’exemple suivant :< ?
//enregistrement du cookie
$count++ ;
SetCookie(“count“ ,$count ,time()+3600);
?>
Nous venons d’écrire un cookie dont la durée de validité est d’une heure (3600secondes), et qui contient une variable nommée count, dont la valeur est incrémentée à chaque page grâce à l’instruction $count++
< ?
//lecture du cookie
Echo “Vous avez charge cette page $count fois
?>
Une règle est à respecter impérativement : la fonction SetCookie doit être appelée en début de page, avant les ordres d’affichages HTML de la page.
Supprimer un enregistrement
La commande de suppression d’un enregistrement fait appel à l’instruction Delete. Cette commande, que l’on utilisera avec précaution, est assez proche de la commande Update. On indique le nom de la table dans laquelle les suppressions doivent se faire ainsi que les conditions permettant de trouver les enregistrements à supprimer :Delete from clients where nom like ‘D%’
Cette commande va supprimer tous les clients dont le nom commence par la lettre D. Si l’on ne précise pas de condition, tous les enregistrements de la table sont supprimés :
delete from clients
Avec cette commande vous retrouvez avec une table Clients vide !
Lecture de cookies
Pour lire un cookie, on fait appel à l’objet ASP Request
Voici le code du script qui va permettre de lire notre premier cookie « langue » :
Langue_utilisateur = Request.cookies(” langue ”)
Pour lire les différentes variables de notre deuxième cookie, on utilisera les commandes suivantes :
Article_client_1 = Request.Cookies(”panier ”)( ”article1 ”)
Article_client_2 = Request.Cookies(” panier ”)(” article2 ”)
Article_client_3 = Request.Cookies(”panier ”)(” article3 ”)
Voici maintenant un petit script qui permet de récupérer tous les cookies à variable unique (dans la mesure où ils ont été déposés par le même site Web).
<% For Each cookie in Request.cookies %>
<%=”Cookie : “ & cookie & “ : “ & Request.Cookies(cookie)%><br>
<% Next %>
Voici un deuxième module permettant de lire tous les cookies y compris ceux à variables multiples si nécessaire.
<%
For each cookie in Request.Cookies
If Request.Cookie(cookie).haskeys Then
For Each varcookie in Request.cookies(cookie)
%>
Variable de cookie: <%=cookie%> (<%=varcookie%>)
: <%=Request.Cookies(cookie) (varcookie)%><br><%
End If
Next
%>
La commande Request.Cookie(cookie).HasKeys permet de détecter la présence de cookies à variables multiples.
Il est à noter que l’utilisation des cookies reste délicate dans la mesure où une minorité d’internautes refusent l’enregistrement de ces informations sur leur machine. Ainsi, on ne peut pas faire confiance à 100% à ces cookies.
Obtenir les informations sur le navigateur web
Vous voulez connaitre le navigateur, ainsi que sa version, utilisé par la personne qui visite votre site. Voici cette fonction mise en situation dans une petite page ASP.<%@ LANGUAGE= ” VBSCRIPT ”%>
<HTML>
<HEAD>
<TITLE>Script Navigateur</TITLE>
</HEAD>
<BODY>
<%nav=Request.ServerVariables(” http_USER_AGENT ”)%>
<BR><BR><BR><BR>
<P ALIGN=”CENTER”><strong>vous utilisez le navigateur: </strong><%=nav%></P>
</BODY>
</HTML>
Arrondir un nombre
En ASP il est vraiment très pratique d’arrondir un nombre. Il suffit simplement d’utiliser la commande Round :<%=Round(nb, ar)%)
Où « nb » est le nombre à arrondir et « ar » est le nombre indiquant combien de positions à la droite de la virgule sont incluses dans le nombre arrondi. Si cette valeur est omise, la valeur retournée est un entier c'est-à-dire un nombre sans décimales.
Traquer vos visiteurs
Si vous n’avez la possibilité de mettre des outils statistiques performants sur votre site, nous vous proposons ce programme qui vous permettra de générer un fichier texte quotidien qui contient, sous forme de listing, les sites d’où viennent vos visiteurs ainsi leur adresse IP. Pour le 13 février 2009, vous aurez un fichier nommé « 13022009.log».Voici le listing :
<%
‘ Création des différents éléments du nom du fichier .log
LogFiledate = Date
LogFileName = “ “
If Month(logFileDate) < 10 Then
LogFileName = “0”
End If
LogFileName = LogFileName & Month(logFileDate)
If Day(LogFileDate) < 10 Then
LogFileName = LogFileName & “0”
End If
‘ Création du nom du fichier .log
LogFileName= “ “ & LogFileName & day(LogFileDate) & Year(LogFileDate) & “.log“
Set fs = CreateObjet(“Scripting.FileSystemObject“)
‘On crée une connexion avec le fichier .log
Set a = fs.OpenTextFile(server.mappath(LogFileName), 8, True, False)
‘ Dans le cas où le visiteur vient de nulle part
If Request.ServerVariables(“HTTP_REFERER“) <= “ “ then
= 0
Else
‘ Si le visiteur vient d’un autre site
a.Write(“Referer: “ & Request.ServerVariables(“HTTP_REFERER“) )
a.Write(“ IP Adress: “ & Request.ServerVariables(“REMOTE_ADDR“) ) & VBcrlf
end if
%>
Pour exploiter ce script, il vous suffit simplement de l’insérer au début de la première page de votre site.
Vous pouvez configurer la variable LogFileName en indiquant entre guillemets le nom du répertoire où vous souhaitez que vos fichiers .log s’enregistrent. Ne pas oublier à autoriser l’écriture de ce nouveau répertoire dans la configuration du serveur.
Utiliser les options de la fonction Select
La fonction select accepte plusieurs options. La plus intéressante est celle qui permet de trier les enregistrements. L’instruction Order est employée pour préciser l’ordre de tri.Si l’on voulait trier nos clients dans notre de base de données par ordre alphabétique, on utiliserait la commande suivante :
Select * from clients order by nom
Si l’instruction comporte des conditions, la commande Order doit être placée après les conditions. La commande suivante sélectionner les clients habitant à Londres et triera la liste par codes postaux :
Select * from clients where ville like ’Londres’ order by codepostal
Plusieurs champs peuvent servir de tri. Il suffit de les indiquer en les séparant par une virgule :
Select * from clients where ville like ‘Londres’ order by nom, codepostal
La commande précédente triera les clients par noms. Si deux noms sont identiques, le tri pour ces noms se fera par codes postaux.
Si l’on inverse les champs de tri, on obtiendra une liste triée par codes postaux, puis par noms. On aura donc ainsi le code postal 75001 avec tous les noms de clients habitant dans cet arrondissement, puis le code postal 75002 avec tous les habitants de l’arrondissement…
Select * from clients where ville like ‘Londres’ order by codepostal, nom.
Par défaut, l’ordre de tri est croissant. Si le champ choisi pour le tri est un champ alphanumérique, les enregistrements seront triés par ordre alphabétique. Si le champ choisi est un champ numérique, la valeur la plus petite sera en tête, la plus grande sera à la fin de liste.
On peut inverser cet ordre de tri en ajoutant Desc après le nom du champ utilisé pour le tri. Si vous voulez obtenir une liste de clients classés par ordre alphabétique inverse, vous utiliseriez la commande :
Select * from clients order by nom desc
Réinstaller le protocole TCP/IP
A cause d’une mauvaise manipulation sur le système, il peut arriver que le protocole TCP/IP ne fonctionne plus c'est-à-dire n’est plus pris en charge par le système.
Voici comment le réinstaller :
• Cliquer sur " Démarrer ", " Exécuter... " puis taper " regedit", et enfin cliquer sur " OK " pour accéder à l'éditeur de base de registre.
• Rechercher la clé:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
• Puis les clés Winsock et WinSock2 et supprimer les, fermer ensuite l'éditeur de registre.
