21-2 �q�Φ������ΡG�������ASP ����

¦b«e­zªº³¹¸`¤¤¡A§Ú­Ì¤w¸g»¡©ú¤F¦p¦ó¨Ï¥Î JavaScript ªº³q¥Îªí¥Üªk¦b¥Î¤áºÝ¶i¦æ¶i¦æ¦r¦ê¤ñ¹ï»P¥N´«¡A§Q¥Î¦P¼Ëªº¤è¦¡¡A§Ú­Ì¤]¥H¦b¦øªA¾¹ºÝ¨Ï¥Î³q¥Îªí¥Üªk¨Ó¶i¦æ¦UºØÀ³¥Î¡C¥»¸`±N¥H¦UºØÀɮתº¤À¦âÅã¥Ü¡A¨Ó»¡©ú³q¥Îªí¥ÜªkªºÀ³¥Î¡C

¤@¯ë°ª¶¥ªº¤å¦r½s¿è¾¹´N¦³¡u¤À¦âÅã¥Ü¡vªº¥\¯à¡A¨Ò¦p¡A¦pªG§Ú­Ì¨Ï¥Î Ultraedit ¨Ó½s¿è¤@­Ó asp ÀɮסA©Ò¬Ý¨ìªº¤º®e¦p¤U¡G

¦b¤W­z Ultraedit ªºµe­±Åã¥Ü¤¤¡A§Ú­Ì¤w¸g¥i¥H¬Ý¥X¡AServer-side ªºµ{¦¡½X³£¤w¸g¨Ï¥Î²Hºñ¦âÅã¥Ü¡A¦Ó Client-side ªº­«­n¼ÐÅÒ¤]³£¤w¸g¨Ï¥ÎÂŦâ¨ÓÅã¥Ü¡A¨ä¥L¤å¦r«h¥H¶Â¦âÅã¥Ü¡C¥H³oºØ¤è¦¡¨ÓÅã¥Ü asp ºô­¶¡A¯à°÷Åý¤H¤@¥ØÁAµM¡A¥ß¨èª¾¹Dµ{¦¡½Xªº­«ÂI¡AµL½×¬O­n½s¿è©Î¬O±Ð¾Ç¡A³£·|¤ñ¸û®e©ö¡C

§Ú­Ì¥i¥H¨Ï¥Î JScript ªº³q¥Îªí¥Üªk¨Ó¹F¨ìÃþ¦üªº¥\¯à¡A¤U­±¬O¤@­Ó²³æªº¤Jªù½d¨Ò¡G

Example¡]codeDisplay/aspDisplay.asp?url=/jang/books/asp/example/password/auth.asp¡^¡G

¤W­z½d¨Òªº­ì©l½X¦p¤U¡G

­ì©lÀÉ¡]codeDisplay/aspDisplay.asp¡^¡G¡]¦Ç¦â°Ï°ì«ö¨â¤U§Y¥i«þ¨©¡^
<%@language=JScript%>
<% title="¤À¦âÅã¥Ü ASP ºô­¶¤º®e" %>
<!--#include file="../head.inc"-->
<hr>

<%
function fileRead(fileName){
	var fso = new ActiveXObject("Scripting.FileSystemObject");
	var fid = fso.OpenTextFile(realPath, 1);		// ¶}±Ò°ßŪÀÉ®×
	var fileContents = fid.ReadAll();			// Ū¨ú¾ã­ÓÀɮתº¸ê®Æ
	fid.Close();
	return(fileContents);
}

url=Request("url")+"";
if (url=="undefined"){
	Response.write("You need to specify the target URL!!!");
	Response.End();
}
realPath=Server.MapPath(url);				// Àɮתº¹êÅé¸ô®|
contents = fileRead(realPath);				// Ū¨úÀɮפº®e
// Step1, ÅýÂsÄý¾¹¶i¦æ¾A·í±Æª©¡G
contents=contents.replace(/</g, "&lt;");		// ±N¡u<¡v¥N´«¦¨¡u&lt;¡v¡A¥HÁ×§KÂsÄý¾¹¶i¦æ±Æª©
contents=contents.replace(/>/g, "&gt;");		// ±N¡u>¡v¥N´«¦¨¡u&gt;¡v¡A¥HÁ×§KÂsÄý¾¹¶i¦æ±Æª©
contents=contents.replace(/\n/g, "<br>");		// ±N´«¦C¥N´«¦¨<br>
contents=contents.replace(/\t/g, "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");	 // ±N©w¦ìÁä¥N´«¦¨¤K­ÓªÅ®æ
// Step 2, ±N Server-side JScript Åã¥Ü¦¨¬õ¦â¡G
contents=contents.replace(/&lt;%/g, "<font color=red>&lt;%");	// ±N¡u&lt;%¡v¥N´«¦¨¡u<font color=red>&lt;%¡v
contents=contents.replace(/%&gt;/g, "%&gt;</font>");		// ±N¡u%&gt;¡v¥N´«¦¨¡u%&gt;</font>¡v
// Step 3, ±N Client-side JavaScript Åã¥Ü¦¨ÂŦâ¡G
contents=contents.replace(/&lt;script&gt;/gi, "<font color=blue>&lt;script&gt;");
contents=contents.replace(/&lt;script language=javascript&gt;/gi, "<font color=blue>&lt;script language=javascript&gt;");
contents=contents.replace(/&lt;\/script&gt;/gi, "&lt;\/script&gt;<\/font>");
Response.write(contents);
%>

<hr>
<!--#include file="../foot.inc"-->

±q¤W­z­ì©l½X¤¤¡A§Ú­Ì¥i¥Hª¾¹D¡A¬°¹F¦¨¦U¶µ¥\¯à¡A³q¥Î¹Bºâ¦¡©Ò¶i¦æªº¥N´«¦p¤U¡G

  1. ÅýÂsÄý¾¹¶i¦æ¾A·í±Æª©¡G
    • ±N¡u<¡v¥N´«¦¨¡u&lt;¡v¡A¥HÁ×§KÂsÄý¾¹¶i¦æ±Æª©
    • ±N¡u>¡v¥N´«¦¨¡u&gt;¡v¡A¥HÁ×§KÂsÄý¾¹¶i¦æ±Æª©
    • ±N´«¦C¥N´«¦¨¡u<br>¡v
    • ±N©w¦ìÁä¥N´«¦¨¤K­ÓªÅ®æ
  2. ±N Server-side JScript Åã¥Ü¦¨¬õ¦â¡G
    • ±N¡u&lt;%¡v¥N´«¦¨¡u<font color=red>&lt;%¡v¡A¤]´N¬O±N­ì¥ýªº¡u<%¡v¥N´«¦¨¡u<font color=red><%¡v
    • ±N¡u%&gt;¡v¥N´«¦¨¡u%&gt;</font>¡v¡A¤]´N¬O±N­ì¥ýªº¡u%>¡v¥N´«¦¨¡u%></font>¡v
  3. ±N Client-side JavaScript Åã¥Ü¦¨ÂŦâ¡G
    • ±N¡u&lt;script&gt;¡v¥N´«¦¨¡u<font color=blue>&lt;script&gt;¡v¡A¤]´N¬O±N­ì¥ýªº¡u<script>¡v¥N´«¦¨¡u<font color=blue><script>¡v
    • ±N¡u&lt;script language=javascript&gt;¡v¥N´«¦¨¡u<font color=blue>&lt;script language=javascript&gt;¡v¡A¤]´N¬O±N­ì¥ýªº¡u<script language=javascript>¡v¥N´«¦¨¡u<font color=blue><script language=javascript>¡v
    • ±N¡u&lt;/script&gt;¡v¥N´«¦¨¡u&lt;/script&gt;</font>¡v¡A¤]´N¬O±N­ì¥ýªº¡u</script>¡v¥N´«¦¨¡u</script></font>¡v
·íµM¡A³o¨Ç¥u¬O²³æªº¥N´«¡A¦pªG¹J¨ì§ó½ÆÂøªºµ{¦¡½X¡A´N¥²¶·¥[¤J¨ä¥L¥N´«¥\¯à¡A¥H¨Ï¡u¤À¦âÅã¥Ü¡vªº¥\¯à§ó§¹¾ã¡C
JScript µ{¦¡³]­p»PÀ³¥Î¡G¥Î©ó¦øªA¾¹ºÝªº ASP Àô¹Ò