Mercurial Hosting > luan
comparison src/goodjava/webserver/handlers/DirHandler.java @ 1848:6f3f1768fdde default tip
html encode dir names
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Thu, 20 Feb 2025 14:38:07 -0700 |
parents | d88fb2eb15aa |
children |
comparison
equal
deleted
inserted
replaced
1847:aa008b20d820 | 1848:6f3f1768fdde |
---|---|
8 import java.text.DateFormat; | 8 import java.text.DateFormat; |
9 import java.text.SimpleDateFormat; | 9 import java.text.SimpleDateFormat; |
10 import java.util.Arrays; | 10 import java.util.Arrays; |
11 import java.util.Comparator; | 11 import java.util.Comparator; |
12 import java.util.Date; | 12 import java.util.Date; |
13 import goodjava.html.Html; | |
13 import goodjava.webserver.Handler; | 14 import goodjava.webserver.Handler; |
14 import goodjava.webserver.Request; | 15 import goodjava.webserver.Request; |
15 import goodjava.webserver.Response; | 16 import goodjava.webserver.Response; |
16 import goodjava.webserver.ResponseOutputStream; | 17 import goodjava.webserver.ResponseOutputStream; |
17 | 18 |
64 } | 65 } |
65 File[] a = file.listFiles(); | 66 File[] a = file.listFiles(); |
66 Arrays.sort(a,sorter); | 67 Arrays.sort(a,sorter); |
67 for( File child : a ) { | 68 for( File child : a ) { |
68 String name = child.getName(); | 69 String name = child.getName(); |
70 name = Html.encode(name); | |
69 boolean isDir = child.isDirectory(); | 71 boolean isDir = child.isDirectory(); |
70 if( isDir ) | 72 if( isDir ) |
71 name += '/'; | 73 name += '/'; |
72 writer.write( "\t\t\t<tr>\n" ); | 74 writer.write( "\t\t\t<tr>\n" ); |
73 writer.write( "\t\t\t\t<td><a href='"+name+"'>"+name+"</a></td>\n" ); | 75 writer.write( "\t\t\t\t<td><a href=\""+name+"\">"+name+"</a></td>\n" ); |
74 writer.write( "\t\t\t\t<td>"+fmt.format(new Date(child.lastModified()))+"</td>\n" ); | 76 writer.write( "\t\t\t\t<td>"+fmt.format(new Date(child.lastModified()))+"</td>\n" ); |
75 if( !isDir ) | 77 if( !isDir ) |
76 writer.write( "\t\t\t\t<td align=right>"+child.length()+" bytes</td>\n" ); | 78 writer.write( "\t\t\t\t<td align=right>"+child.length()+" bytes</td>\n" ); |
77 writer.write( "\t\t\t</tr>\n" ); | 79 writer.write( "\t\t\t</tr>\n" ); |
78 } | 80 } |