Recommandé: instance ASP: Tester le serveur Web Ce qui suit est le contenu cité: <html> <adread> <ititle> Testez le serveur Web </TITAL> </EAD> <ORGOD> <Script L
Plusieurs erreurs courantes commises par les débutants ASP1. Ouvrez à nouveau avant la fermeture du jeu d'enregistrements:
------------------------------------
SQL = SELECT * à partir du test
Rs.Open SQL, Conn, 1,1
Si ce n'est pas Rs.Eof alors
dim myname
myname = rs (nom)
terminer si
SQL = SELECT * FROM MYBOOK
Rs.Open SQL, Conn, 1,1
-------------------------------------
Solution: fermer Rs.Close avant le deuxième Rs.Open
ou
Définir RS1 = Server.CreateObject
RS1.Open SQL, Conn, 1,1
2. Utilisez des mots clés SQL pour créer des noms de table ou des noms de champ
-------------------------------------
SQL = SELECT * à partir de l'utilisateur
Rs.Open SQL, Conn, 1,1
-------------------------------------
L'utilisateur est un mot-clé SQL
Solution: passer à
sql = select * from [user]
3. Utilisez le verrouillage pour mettre à jour
-------------------------------------
sql = select * from [user]
Rs.Open SQL, Conn, 1,1
Rs.Addnew
ou
rs (nom d'utilisateur) = aa
Rs.Update
-------------------------------------
Le jeu d'enregistrements actuel est ouvert à la lecture seule
résoudre:
Passer à
Rs.Open SQL, Conn, 1,3
4. La valeur de champ de comparaison utilisée dans l'instruction de requête ne correspond pas au type de champ
-----------------------------------------
SQL = SELECT * FROM [USER] WHERE ID = '; & myid & ';
Rs.Open SQL, Conn, 1,1
-----------------------------------------
En supposant que l'ID de conception dans le tableau est numérique, alors une erreur se produit parfois.
résoudre:
sql = select * from [utilisateur] où id = & myid
5. Une erreur s'est produite sans vérifier la valeur variable
-----------------------------------------
sql = select * from [utilisateur] où id = & myid
Rs.Open SQL, Conn, 1,1
-----------------------------------------
En supposant que la valeur de la variable MYID est nul à ce moment, alors SQL deviendra
sql = select * from [utilisateur] où id =
résoudre:
Ajouter à l'avant
Si ISNULL (MYID) alors Message d'erreur
6. Une erreur s'est produite sans vérifier le type de valeur variable
-----------------------------------------
sql = select * from [utilisateur] où id = & myid
Rs.Open SQL, Conn, 1,1
-----------------------------------------
Supposons que l'ID est numérique, la valeur de la variable MYID n'est pas nul à ce moment, mais est un caractère. Par exemple, MyID est AA pour le moment.
Alors SQL deviendra
sql = select * from [utilisateur] où id = aa
résoudre:
Ajouter à l'avant
Si isNumeric (MyId) = False, alors message d'erreur
Cela peut également prévenir efficacement les attaques de vulnérabilité de l'injection SQL.
7. Ne peut pas être mis à jour en raison des autorisations NTFS dans le répertoire où se trouve le fichier de base de données. Une base de données ou un objet est une erreur en lecture seule.
illustrer:
Le système Win2K poursuit les autorisations NTFS du système WINNT.
Il existe des paramètres de sécurité par défaut pour les dossiers du système.
L'utilisateur par défaut du système lors de l'accès à www via HTTP est l'utilisateur de nom IUSR_COMPUTER, qui appartient au groupe d'invités.
Lorsqu'il est accessible via HTTP, vous pouvez modifier les données par ASP ou JSP, ou des programmes PHP ou .NET:
Par exemple:
Lors de l'ouverture d'un certain article, le programme définit le nombre de lectures de l'article = nombre original de lectures 1
mettre en œuvre
Conn.Exécute (Mettez à jour le jeu d'arts Clicks = Clicks 1 Where Id = n)
Lorsqu'une instruction est commise, une erreur se produit si l'utilisateur de noms iusr_computer n'a pas d'autorisations d'écriture dans la base de données.
Solution:
Trouvez le répertoire où se trouve la base de données
Cliquez avec le bouton droit sur "Propriétés" Onglet de sécurité "Définissez les autorisations d'écriture de l'utilisateur de noms IUSR_COMPUTER (bien sûr, cela peut aussi être tout le monde)
Partager: huit conseils d'optimisation de codage ASP ASP (Active Server Page) est une technologie de développement de pages Web dynamique basée sur la plate-forme PWS (Personal Web Server) & IIS (Internet Information Server) lancé par Microsoft, et devient désormais de plus en plus populaire.