¿ï¾ÜÃD
²µªÃD
- ½Ð¦CÁ|¤TÂI¡A»¡©ú±Nºô¶¸ê®ÆÀx¦s©ó¸ê®Æ®wªº¦n³B¡C
- nÅý ASP µ{¦¡½X©M¸ê®Æ®w·¾³q¡Aº¥ýnª¾¹D¸ê®Æ®w©Ò¦b¦ì¸m¥H¤Î¨ä¬ÛÃö¸ê°T¡A¦³¨âºØ¤èªk¥i¥H¹F¦¨¦¹¥ô°È¡A½Ð²³æ»¡©ú¡A¨Ã¸ÑÄÀ³o¨âÓ¤èªkªºÀu¯ÊÂI¡C
- ODBC ªº¥þ¦W¬°¦ó¡H·N¸q¬°¦ó¡H
- SQL ªº¥þ¦W¬°¦ó¡H¦¹µ{¦¡»y¨¥ªº¥\¯à»P¯S©Ê¡H
- ¦b Access ¸ê®Æ®w¤¤¡Atext Äæ¦ì©M memo Äæ¦ì¦³¤°»ò«n®t²§¡H
- ¦b Access ³nÅ餺°õ¦æ SQL «ü¥O®É¡A¦p¦ó¤ñ¹ï¤@Ó¦r¤¸¡H¦p¦ó¤ñ¹ï¦hÓ¦r¤¸¡H
- ¦b ASP µ{¦¡½X¤º°õ¦æ SQL «ü¥O®É¡A¦p¦ó¤ñ¹ï¤@Ó¦r¤¸¡H¦p¦ó¤ñ¹ï¦hÓ¦r¤¸¡H
- ¦³Ãö©ó¡u¸ê®ÆÁô½X¡v¡]SQL Injection¡^¡G
- ½Ð²³æ»¡©ú¡]¤£¶W¹L¤¥y¡^¤°»ò¬O¡u¸ê®ÆÁô½X¡v¡H
- ½Ð²³æ»¡©ú¡]¤£¶W¹L¤¥y¡^¦p¦óÁקK³oÓ°ÝÃD¡H
- ¹ï©ó¤@¯ëªº±b¸¹±K½X»{ÃÒ¡A¦p¦ó¨Ï¥Î¸ê®ÆÁô½Xªº¤è¦¡¨Ó¶i¦æÀb«È¥ô°È¡H
- °²³]¦³¤@Ó¸ê®Æ®w¥]§t¨âÓ¸ê®Æªí¡G
¬ÛÃö¤º®e¦p¤U¡G
- Player ¥]§t²yûªº¸ê®Æ¡A¨ä¤¤ TeamID ¬O²yû©ÒÁõÄݪºÄx²y¶¤¥N¸¹¡]¸ü©ú¦b Team ¸ê®Æªí¡^¡APercentage ¬O§ëÄxªº©R¤¤²v¡C
- Team ¥]§tÄx²y¶¤ªº¸ê®Æ¡A¨ä¤¤ WinNo ¬O¥»©uªºÄ¹²y¦¸¼Æ¡C
¸ê®Æ®w "example/database/basketball.mdb" ¸ê®Æªí "Player" ªº¤º®e ¸ê®Æªí "Team" ªº¤º®e
ID NickName Name TeamID Percentage 1 jean §d§Ó»Ê 1 38.25 2 jones ±i¯¯¹Å 5 49.77 3 ben ³¯§¶±l 1 50.26 4 asser ªL´f®S 3 37.22 5 window §õ©y´ 1 36.67 6 roger ±i´¼¬P 2 25.88 7 cosh ³\¤å»¨ 6 70.98 8 banny ¬xÄPµ¾ 6 88.97 9 shyba ªô¤¤¤H 5 67.45 10 batty ·¨Âz¦p 4 65.55 11 joey ³\¹Å®Ê 3 47.65 12 roland §d·ç¤d 1 55.87 13 sony ªL¹|µØ 1 54.77 14 beball ¸¨Î¼z 5 33.33 15 gavins ªL¬F·½ 5 55.65 16 jojo ³¯«T³Ç 5 44.65 17 jtchen ³¯¦¿§ø 3 48.76 18 Gao °ª¦W´ 1 67.88 19 Wayne ³¯´¼°¶ 7 65.87 20 chingz ³¯´¸ 5 57.28
ID Name WinNo 1 ¥x¥_¶¤ 12 2 ·s¦Ë¶¤ 7 3 ¥x¤¤¶¤ 10 4 «n§ë¶¤ 12 5 ¥x«n¶¤ 17 6 °ª¶¯¶¤ 16 7 ¼ê´ò¶¤ 11 ½Ð®Ú¾Ú¦¹¸ê®Æ®w¼g¥X²Å¦X¤U¦C»Ý¨Dªº³Ì²³æ SQL «ü¥O¡G
- ©Ò¦³²y¶¤¸ê®Æ
- ©Ò¦³²y¶¤¸ê®Æ¡A¦ý¥u§ì«e¤Tµ§
- ºï¸¹¬° gavins ªº²yû©m¦W¤Î©R¤¤²v
- ¶¤¦W¥H¡u¥x¡v¶}ÀYªº²y¶¤¸ê®Æ
- ¡u©m³¯¥B¦W¦r¦³¤TÓ¦r¡vªº²yû©m¦W¤Î©R¤¤²v
- ¡u³Ó³õ¼Æ¤j©ó10¡vªº²y¶¤¦WºÙ¤Î¨ä³Ó³õ¼Æ
- ¡u³Ó³õ¼Æ¤j©ó10¡vªº²y¶¤¦WºÙ¤Î¨ä³Ó³õ¼Æ¡A¨Ã®Ú¾Ú³Ó³õ¼Æ¥Ñ¤j¨ì¤p±Æ¦C
- ¡u²y¶¤¥N½X¬°5¡vªº²yû©R¤¤²v±Æ¦æº]
- ¨C¤@¶¤ªº²yû©R¤¤²v±Æ¦æº]
- ¡u³Ó³õ¼Æ¤j©ó10¡vªº²y¶¤Á`¼Æ
- ©Ò¦³²yûªº³Ì°ª©R¤¤²v
- ¨ã¦³³Ì°ª©R¤¤²vªº²yû¸ê®Æ
- ¨CÓ²y¶¤ªº²yû¤H¼Æ¤Î¥§¡©R¤¤²v
- ¨CÓ²y¶¤ªº²yû¤H¼Æ¡A¦ý¥uÅã¥Ü²yû¤H¼Æ¤j©ó 2 ¦ìªº¸ê®Æ
- ¥x¥_¶¤ªº²yû¸ê®Æ
- °ª¶¯¶¤©M¥x¤¤¶¤ªº®g¤â±Æ¦æº]
- ¨CÓ²y¶¤ªº¬ÛÃö²Îp¼Æ¦r
- °²³]§Ú̦³¤@Ó¸ê®Æ®w¡A¤º§t¤TÓ¸ê®Æªí¡A¥L̪ºÃöÁp¹Ï¦p¤U¡G
½Ð¼g¥X³Ì²¼äªº SQL «ü¥O¡A¥H°õ¦æ¥H¤U¬d¸ß¡C
- ¦C¥X©Ò¦³ªº°ê»yºq¦±
- ©Ò¦³ºq¦±¦@¥]§tþ´XºØ¤£¦P»y¨¥¡]¤£¥i«½Æ¡^
- ºq¦±¦@¥]§t´XºØ¤£¦P»y¨¥
- °Û¹L¥x»yºqªººq¬P¡]¤£¥i«½Æ¡^
µ{¦¡ÃD
½Ð¨Ï¥Î¥»³¹©Ò¾Ç¨ìªº JavaScript/JScript µ{¦¡§Þ¥©¡]¥Î©ó¦øªA¾¹ºÝ¡^¨Ó§¹¦¨¤U¦C§@·~¡G
- (***) §Q¥ÎSQL±q¸ê®Æ®w§ì¸ê®Æ: ¥»ÃD§@·~ªº¥Øªº¡A¬OÅý¦P¾Ç¼ô±x Access ¸ê®Æ®wªº¨Ï¥Î¥H¤Î SQL ªº»yªk¡A¨Ã±N SQL ©R¥O©Ò¦^¶Çªº¸ê®ÆÅã²{¦bºô¶¤W¡C©Ò¥Î¨ìªº¸ê®Æ®w¬O example/databsae/song.mdb¡A¦@¥]§t¤TÓ¸ê®Æªí (Singer, Song, Midi)¡A ªí©Mªí¤§¶¡¦³ÃöÁp©Ê¦s¦b¡A¦¹ÃöÁp©Ê¥i¥Ñ¡u¤u¨ã/¸ê®Æ®wÃöÁp¹Ï¡v¨ÓÅã¥Ü¡C ¨CÓªíªºÄæ¦ì¦WºÙÀ³¥i±æ¤å¥Í¸q¡A ¨ä¤¤ SSN ¥Nªí System Serial Number¡A¬O¨Cµ§¸ê®Æ¦b¸ê®Æªí¤¤¿W¤@µL¤Gªº½s¸¹¡C§Aªº¤u§@¡A´N¬O²£¥Í¤@Óºô¶ selectQuery01.asp¡A¥]§t¤U¦C³sµ²¡A·í¨Ï¥ÎªÌÂI¿ï¬Y¤@Ó³sµ²®É¡A§Aªºµ{¦¡½X´N·|¦Û°Ê±q¸ê®Æ®w¤¤¨ú¥X¤U¦C¸ê®Æ¡A¨ÃÅã¥Ü¦b¥t¤@Óºô¶¤W¡C
ª`·N¨Æ¶µ¡G
- ºq¦±¦@¥]§tþ´XºØ¤£¦P»y¨¥
- °Û¹L¥x»yºqªººq¬P
- ¥î¨Õ©Ò°Ûªº¥x»yºq
- ¥î¨Õ©Ò°Ûªº°ê»yºqªºÁ`¼Æ
- °Û¹L¥x»yºq¦±ªº¤kÃÀ¤H¤Î©Ò°Ûªº¥x»yºq
- ±i¦t©Ò°Ûªº°ê»yºq¤Î¨ä Midi Àɮתº¸ô®|
- ±i¦t©Ò°Ûªº°ê»yºqªº Midi ÀɮתºÁ`¼Æ
- ºq¦±¦@¥]§t´XºØ¤£¦P»y¨¥
- Song ¤¤«½Æªººq¦W
- ¦³ºq¦W«o¨S¦³ Midi Àɪººq¦±¸ê®Æ¡]´£¥Ü¡G¦¹ÃD·|¥Î¨ì Outer Join¡^
- ºq¦±¤¤¦³¡y·R¡z¡B¡y«ë¡zªÌ
SELECT Song.Name FROM Song WHERE (Song.Name Like '%·R%') Or (Song.Name Like '%«ë%'); - ¥¼¦¬¿ý¥ô¦óºq¦±¤§¹ÎÅé¡]»Ý¥Î¨ì left/right join¡^
SELECT Singer.Name FROM Singer LEFT JOIN Song ON Singer.SSN = Song.SingerSSN WHERE (Singer.Type='¹ÎÅé') AND (Song.SSN Is Null); - ºq¦±¦W¦³^¤å¦r¤§ºq¦±¸ê®Æ¡A¤Î¨ä¹ïÀ³ªººq¤â
SELECT Song.Name, Singer.Name FROM Singer, Song WHERE (Song.SingerSSN=Singer.SSN) AND (Song.Name Like '%[a-zA-Z]%'); - ºq¦±¦WºÙ¬O¥|Ó¦rªººq¦±¡A¤Î¨ä¹ïÀ³ªººq¤â
SELECT Song.Name, Singer.Name FROM Song, Singer WHERE (Singer.SSN=Song.SingerSSN) AND (Song.Name Like '____'); - ºq¤â¤Î°Û¹Lªººq¦±¼Æ¡]½Ð«ö·Ó°Û¹Lªººq¦±¼Æ±Æ¦W¡^
SELECT Singer.Name, Count(*) AS °Û¹Lªººq¦±¼Æ FROM Song, Singer WHERE (Singer.SSN=Song.SingerSSN) GROUP BY Singer.Name ORDER BY Count(*) DESC; - ¨C¦ìºq¤â¤À§O¦b¦UºØ»y¨¥¤¤°Û¹L´Xººq
SELECT Singer.Name, Song.Language, Count(*) AS ºq¦±¼Æ FROM (SELECT Singer.Name, Song.Language FROM Song, Singer WHERE Song.SingerSSN = Singer.SSN) GROUP BY Singer.Name, Song.Language; - ÂùÁn±aºq¤â¡]¦³°Û¨âºØ»y¨¥¥H¤Wªººq¤â¡^
SELECT ©m¦W, count(*) as »y¨¥¼Æ¶q FROM (SELECT Singer.Name as ©m¦W, Song.Language as »y¨¥ FROM Singer,Song where(Song.SingerSSN=Singer.SSN) GROUP BY Singer.Name, Song.Language) GROUP BY ©m¦W HAVING count(*)>1 - ¹ÎÅéºq¤â¤Î°Û¹Lªººq¦±¼Æ¡]½Ð«ö·Ó°Û¹Lªººq¦±¼Æ±Æ¦W¡^
SELECT singer.Name, Count(*) AS ºq¦±¼Æ¥Ø FROM singer, song WHERE (singer.SSN=song.SingerSSN) AND (singer.Type='¹ÎÅé') GROUP BY singer.Name ORDER BY Count(*) DESC; - ¥H"·R"¶}ÀYªº°ê»yºq
SELECT Song.Name AS ºq¦W, Singer.Name AS ºq¤â FROM Song, Singer WHERE (Song.SingerSSN=Singer.SSN) AND (Song.Name Like '·R*') AND (Song.Language='°ê»y'); - ¨Ì»y¨¥¡BºØÃþ¡B¨k¤k¨Ó¤ÀÃþªº¦U¶µºq¦±¼Æ¥Ø
SELECT Song.Language, Singer.Type, Singer.Gender, Count(*) AS ºq¦±Á`¼Æ FROM Singer INNER JOIN Song ON Singer.SSN = Song.SingerSSN GROUP BY Song.Language, Singer.Type, Singer.Gender; - MIDIª©¥»³Ì¦hªººq¦±
SELECT TOP 1 Song.Name AS ª©¥»³Ì¦hªººq¦± FROM Song INNER JOIN Midi ON Song.SSN = Midi.SongSSN GROUP BY Song.Name HAVING (((Count(*))>1)) ORDER BY Count(*) DESC; - ¤@¦±ºq¤â
SELECT Singer.Name FROM Singer INNER JOIN Song ON Singer.SSN = Song.SingerSSN GROUP BY Singer.Name HAVING (Count(Song.Name)=1); - ©m¦W¬°¨âÓ¦rªººq¤â
select distinct name from singer where name like '__'
- ¥i¥H¨Ï¥Î listQueryResult() ¨ç¼Æ¨Ó¶i¦æ¸ê®Æ¦Cªí¡C
- ¸ê®Æ®w¤¤¡u¬d¸ß¡vªº³¡¥÷¡A¥]§t«e¤T¤pÃD§@·~n¥Î¨ìªº SQL ©R¥O¡A¦P¾Ç¥i°Ñ¦Ò¤§¡C
- ©Ò¦³ªº§@·~¡A³£¥i¥H¸g¥Ñ SQL ©R¥O¨Ó¨ú¥X©Ònªº¸ê°T¡C
- §Ú̥Ϊº¸ê®Æ®w¬O Office 2000 ¤¤ªº Access¡A¦pªG§AÁÙ¦b¥Î Office 97¡A¨º´N¸Ó¤É¯Å¤F¡C
- §U±Ð¦b´ú¸Õ§Aªºµ{¦¡®É¡A·|¥H¥t¤@Ó¸ê®Æ®w¡]Äæ¦ì¬Û¦P¦ý¸ê®Æ¤£¦P¡^¨Ó¶i¦æ´ú¸Õ¡C
- (***) ³]p¦³¥Îªº¬d¸ß: ¦pªG§A°µ¹L¤W¤@ÃD¡AÀ³¸Ó´N·|¹ï SQL «ü¥O¤Î example/databsae/song.mdb ¸ê®Æ®w¦³°ò¥»ªºÁA¸Ñ¡C½Ð©µÄò¤WÃDªº¬d¸ß¤Î¬ÛÃöªº SQL «ü¥O¡A³Ð³y¥X¤Ó§ó½ÆÂø¥B¡u¦³·N¸q¡vªº¬d¸ß¡A¨Ã±N¦¹¬d¸ßªº¤¤¤å·N¸q¤Î¬ÛÃöªº SQL «ü¥O¦C¦b¤@Ó ASP ºô¶ selectQuery02.asp¡A·í¨Ï¥ÎªÌÂI¿ï®É¡A¥i±N¬d¸ßµ²ªGÅã¥Ü¦b¥t¤@Ó·s¶}±Òªºµøµ¡¡C¡]¥»ÃD¨Ã¨S¦³¼Ð·Çµª®×¡A½Ð¦U¦ìºÉ¶qµo´§³Ð·N¡I¡^
- (***) SQL »yªk¦b MS Access »P MS SQL Server ªº®t²§: ÁöµM»¡ SQL ¬O¤@ӼзǤƪº¸ê®Æ®wµ{¦¡»y¨¥¡A¦ý¬O¦b¤£¦Pªº³nÅé¡A¤]·|¦³¨Ç®t²§¡C¥»§@·~³Â·Ð¦U¦ì¦P¾Ç¨ì Google ¤j®v·j´M¤@¤U¡A¤ñ¸û¬Ý¬Ý SQL »yªk¦b MS Access »P MS SQL Server ³o¨âÓ¸ê®Æ®w³nÅ骺®t²§¡A¨Ã¥H¦Cªí¤è¦¡¡A³v¤@»¡©ú¨ä®t²§©Ò¦b¤Î¥i¯à³y¦¨ªº¼vÅT¡C
- (***) ¥H¸ê®Æ®w³]p¯d¨¥ª©: ¥»§@·~¤§¥Øªº¬OÅý¦P¾Ç§ó¶i¤@¨BÁA¸Ñ ASP »P¸ê®Æ®wªº¾ã¦X¡A¨Ã¯à¹ï¸ê®Æ®wªº¸ê®Æ¶i¦æ¦UºØ³B²z¡A§t¦Cªí¤Î·s¼W¡C¥»§@·~ªº¦¨«~¬O¤@Ó Web ¯d¨¥ª©¡A§A¥²¶·±qŪªÌ¡]©Î¦øªA¾¹¡^¨ú±o¤U¦C¸ê°T¡A¨Ã±N¤§Åã¥Ü¦b§Aªº¯d¨¥ª©¡G
- ¥Ñ¨Ï¥ÎªÌ¿é¤J¡G
- ¶Q©m¤j¦W
- ©Ê§O
- ¥ì´A¨à
- Ó¤Hºô§}
- ¯d¨¥¤º®e
- ¥Ñ ASP µ{¦¡½X¦Û°Ê§ì¨ú¡G
- µn¿ý®É¶¡©M¤é´Á
- ³X«È IP (¬O¯u¥¿ªº IP¡A¦Ó«D¥N²z¦øªA¾¹ªº IP¡A¥i¥Ñ Request.ServerVariables("REMOTE_ADDR") ©Î Request.ServerVariables("HTTP_X_FORWARDED_FOR") ¨Ó¨ú±o¡C)
- ³X«È©Ò¥ÎªºÂsÄý¾¹ (¥Ñ Request.ServerVariables("HTTP_USER_AGENT"))
- ¨Ó·½ºô¶ (¥Ñ Request.ServerVariables("HTTP_REFERER"))
ª`·N¨Æ¶µ¡G
- ¥»¦¸§@·~»Ý¥Î ASP §¹¦¨¡]§A¥i¥H¥ô¿ï JScript ©Î VBScript ©Î PerlScript¡^¡A¦ý¤£¥i¥H¨Ï¥Î CGI ¨Ó§¹¦¨¡C
- ¯d¨¥ª©¸ê®Æ¥²¶·¦s¦b¸ê®Æ®w¤§¤¤¡Aºô¶¥²¶·¨ã³Æ¡u·s¼W¡v¤Î¡u¦Cªí¡vªº¥\¯à¡C
- ¥²¶·¨¾½d§O¤H¯d¤U¤@¨Ç¶Ã¤C¤KÁVªº¼ÐÅÒ¡A³y¦¨ºô¶®æ¦¡ªº²V¶Ã¡C¡]¥i¨Ï¥Î Server.HTMLEncode() ¨ç¼Æ¡C¡^
- ¤£¶·n¹ï©m¦W¤Î¯d¨¥¶i¦æ°ò¥»ªºªí³æÅçÃÒ¡C
- §Ú¬Û«H§A¥i¥H¦bºô¸ô¤W§ä¨ì«Ü¦h¬ÛÃö½d¨Ò¤Îì©l½X¡C³o¸Ì¬O¤@Ó¤£§¹¥þªº½d¨Ò¡G
- ³o¸Ì¦³¤@Ó¥b¦¨«~¡A½Ð¦h¥[§Q¥Î¡A¨ÃÅwªï´ú¸Õ¡I
- ©Ò¦³ªºµ{¦¡½X³£©ñ¦b guestBook.zip¡A½Ð¦h¥[§Ûŧ¡I
- (***) ¥H¸ê®Æ®w³]p¯d¨¥ª©¤§¤G: °£¤Fº¡¨¬«e¤@ÃDªºn¨D¥~¡A§Aªººô¶ÁÙ»Ýn¨ã³Æ¤U¦C¥\¯à¡G
- ¥[¤W¯d¨¥ºÞ²z¥\¯à¡G¥iÅýºÞ²zû¤£»Ý¶}±Ò¸ê®Æ®w¡Aª½±µ¸g¥Ñºô¶¿é¤J±K½X«á¡A§Y¥i¦³¡uקï¡v¤Î¡u§R°£¡vªºÅv¡C¡]¶i¦æקï®É¡A¥²¶·§âì¸ê®Æ¦C¥X¦bªí³æ¤§¤¤¡C¡^
- ¦Û°Ê¤À¶¥\¯à¡A·í¯d¨¥¼Æ¶qÃe¤j®É¡A¥i¤¹³\¨Ï¥ÎªÌ¿ï¾Ü¨Ï¥Î¤À¶¥\¯à¨ÓÂsÄý¯d¨¥¡A ¨Ã¥i¤¹³\¨Ï¥ÎªÌ³]©w¨C¤@¶¯d¨¥ªº¼Æ¥Ø¡C
- ¥[¤J·j´M¥\¯à¡A¤¹³\¨Ï¥ÎªÌ§ä¥X§t¦³·j´M¦r¦êªº¯d¨¥¸ê®Æ¡C¬°Â²¤Æ°_¨£¡A¥i¥H¥u¨Ï¥Î¤@Ó·j´M¦r¦ê¡A´M§ä©Ò¦³ªºÄæ¦ì¡C¡]¬°«K©ó¹î¬Ýµ²ªG¡A«Øij¦b¦^¶Ç¤º®e¤¤±N²Å¦Xªº¦r¦êÅܦâ¡C¡^
- §Q¥Î cookie ¥\¯à°O¿ý¨Ï¥ÎªÌ¯d¨¥®É©Òµn¿ýªº°ò¥»¸ê®Æ¡A ¨Ã©ó¤U¦¸¨Ï¥ÎªÌ±ý¯d¨¥®É¡A¥Ñ¨t²Î¹w¥ý±N¸ê®Æ©ñ¸m©ó input Äæ¦ì¤¤¡C
- (***) ¥H¸ê®Æ®w³]p½u¤W³q°T¿ý: ¥»§@·~¤§¥Øªº¬OÅý¦P¾Ç§ó¶i¤@¨BÁA¸Ñ ASP »P¸ê®Æ®wªº¾ã¦X¡A¨Ã¯à¹ï¸ê®Æ®wªº¸ê®Æ¶i¦æ¦UºØ³B²z¡A§t¬d¸ß¡B·s¼W¡Bקï¡B§R°£¡C ¥»§@·~ªº¦¨«~¬O¤@Ó Web ªºÓ¤H³q°T¿ý¡A§A¥²¶·±q¨Ï¥ÎªÌ¡]À³¸Ó´N¬O§A¦Û¤v¡^¨ú±o¤U¦C¸ê°T¡A¦s¤J¸ê®Æ®w¡A¨Ã±N¤§Åã¥Ü¦b§Aªº³q°T¿ý¡G
- ¥Ñ¨Ï¥ÎªÌ¿é¤JªºÁpµ¸¤H¸ê°T¡G
- ¶Q©m¤j¦W
- ©Ê§O
- ¥ì´A¨à
- ºô§}
- ¹q¸Ü
- ¤jô¤j
- ¦a§}
- Ãþ§O¡]¨Ò¦p°ª¤¤¦P¾Ç¡B¿Ë±¡BªÀ¹Î¦P¾Çµ¥¡^
- ¥Ñ ASP µ{¦¡½X¦Û°Ê§ì¨ú¡G
- µn¿ý®É¶¡©M¤é´Á
- ³X«È IP (¬O¯u¥¿ªº IP¡A¦Ó«D¥N²z¦øªA¾¹ªº IP¡A¥i¥Ñ Request.ServerVariables("REMOTE_ADDR") ©Î Request.ServerVariables("HTTP_X_FORWARDED_FOR") ¨Ó¨ú±o¡C)
- ³X«È©Ò¥ÎªºÂsÄý¾¹ (¥Ñ Request.ServerVariables("HTTP_USER_AGENT"))
- ¨Ó·½ºô¶ (¥Ñ Request.ServerVariables("HTTP_REFERER"))
½Ðª`·N¡G
- ¥»¦¸§@·~»Ý¥Î ASP §¹¦¨¡]§A¥i¥H¥ô¿ï JScript ©Î VBScript ©Î PerlScript¡^¡A¦ý¤£¥i¥H¨Ï¥Î CGI ¨Ó§¹¦¨¡C
- µL½×Åã¥Ü©Îקï³q°T¿ýµ¥¡A³£»Ý¸g¹L±K½X»{ÃÒ¡C
- ¥²¶·¨ã¦³¥|¤j¥\¯à¡G¦Cªí¡B·s¼W¡Bקï¡B§R°£¡C¡]¶i¦æקï®É¡A¥²¶·§âì¸ê®Æ¦C¥X¦bªí³æ¤§¤¤¡C¡^
- ¤£»Ýn¶i¦æªí®æÅçÃÒ¡C¡]¦Û¤v¿é¤JªºªF¦è¡A¦Û¤vt³d´N¥i¥H¤F¡I¡^
- §Ú¬Û«H§A¥i¥H¦bºô¸ô¤W§ä¨ì«Ü¦h¬ÛÃö½d¨Ò¤Îì©l½X¡C³o¸Ì¬O¯d¨¥ª©ªº½d¨Ò¡A¨ä¥\¯à©MÓ¤H³q°T¿ý«D±`±µªñ¡G
- ³o¸Ì¦³¤@Ó¥b¦¨«~¡A½Ð¦h¥[§Q¥Î¡A¨ÃÅwªï´ú¸Õ¡I
- ©Ò¦³ªºµ{¦¡½X³£©ñ¦b guestBook.zip¡A½Ð¦h¥[§Ûŧ¡I
- (***) ¥H¸ê®Æ®w³]p½u¤W³q°T¿ý¤§¤G: °£¤Fº¡¨¬«e¤@ÃDªºn¨D¥~¡A§Aªººô¶ÁÙ»Ýn¨ã³Æ¤U¦C¥\¯à¡G
- ¤À¶¥\¯à:¡G·í³q°T¿ý¸ê®Æ¼Æ¶qÃe¤j®É¡A¥i¤¹³\¨Ï¥ÎªÌ¿ï¾Ü¨Ï¥Î¤À¶¥\¯à¨ÓÂsÄý¯d¨¥¡C
- ±Æ§Ç¥\¯à¡G¥i®Ú¾Ú¤£¦PªºÄæ¦ì¡]¦pÃþ§O¡B©Ê§O¡B©m¦Wµ¥¡^¨Ó¶i¦æ±Æ§ÇÅã¥Ü¡C
- ·j´M¥\¯à¡G¤¹³\¨Ï¥ÎªÌ®Ú¾Ú¤£¦PÄæ¦ì¨Ó¶i¦æ·j´M¡C
JScript µ{¦¡³]p»PÀ³¥Î¡G¥Î©ó¦øªA¾¹ºÝªº ASP Àô¹Ò