{"id":474,"date":"2005-09-29T01:00:00","date_gmt":"2005-09-28T16:00:00","guid":{"rendered":"https:\/\/ecoop.net\/memo\/2005-09-29-1.html"},"modified":"2026-08-10T14:34:38","modified_gmt":"2026-08-10T05:34:38","slug":"2005-09-29-1","status":"publish","type":"post","link":"https:\/\/www.ecoop.net\/memo\/archives\/2005-09-29-1.html","title":{"rendered":"Tomcat \u3067 Filter \u3092\u4f7f\u3046\u4f8b(IP\u30a2\u30c9\u30ec\u30b9\u306b\u3088\u308b\u30a2\u30af\u30bb\u30b9\u5236\u9650)"},"content":{"rendered":"<p>\n&lt;http:\/\/www.jajakarta.org\/kvasir\/bbs\/technical\/688?expand=true><br \/>\njakarta.org: Ja-Jakarta Project \u63b2\u793a\u677f  -> Tomcat\u3067\u306e\u7279\u5b9a\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b<br \/>\n\u5bfe\u3057\u3066\u306e\u30a2\u30af\u30bb\u30b9\u5236\u9650\u306e\u65b9\u6cd5<br \/>\n\u3088\u308a\u8ee2\u8f09(\u4e00\u90e8\u6539\u5909).<br \/>\n\u30d5\u30a3\u30eb\u30bf\u306e\u5b9f\u88c5\u306e\u4ed5\u65b9\u3001web.xml \u306e\u30d1\u30e9\u30e1\u30fc\u30bf\u306e\u53d6\u5f97\u306e\u4ed5\u65b9\u304c\u5206\u304b\u308b\u3057\u3001\u5b9f\u7528\u7684\u3002<br \/>\nweb.xml\u306e\u8a2d\u5b9a:<\/p>\n<blockquote><p>&lt;!&#8211; \u30ed\u30fc\u30ab\u30eb\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u304b\u3089\u3060\u3051\u306e\u30a2\u30af\u30bb\u30b9\u8a31\u53ef&#8211;><br \/>\n&lt;filter><br \/>\n\t&lt;filter-name>Allow Local Network Access&lt;\/filter-name><br \/>\n\t&lt;filter-class>IpAddressFilter&lt;\/filter-class><br \/>\n\t&lt;init-param><br \/>\n\t\t&lt;param-name>allowIP&lt;\/param-name><br \/>\n\t\t&lt;param-value>192.168.0.&lt;\/param-value><br \/>\n\t&lt;\/init-param><br \/>\n&lt;\/filter><br \/>\n&nbsp;<br \/>\n&lt;filter-mapping><br \/>\n\t&lt;filter-name>Allow Local Network Access&lt;\/filter-name><br \/>\n\t&lt;url-pattern>\/pages\/manage\/*&lt;\/url-pattern><br \/>\n&lt;\/filter-mapping>\n<\/p><\/blockquote>\n<p>&nbsp;<br \/>\nIpAddressFilter.java:\n<\/p>\n<blockquote><p>import java.io.IOException;<br \/>\nimport javax.servlet.Filter;<br \/>\nimport javax.servlet.FilterChain;<br \/>\nimport javax.servlet.FilterConfig;<br \/>\nimport javax.servlet.ServletException;<br \/>\nimport javax.servlet.ServletRequest;<br \/>\nimport javax.servlet.ServletResponse;<br \/>\nimport javax.servlet.http.HttpServletRequest;<br \/>\nimport javax.servlet.http.HttpServletResponse;<br \/>\n&nbsp;<br \/>\npublic class IpAddressFilter implements Filter {<\/p>\n<p>\tprivate FilterConfig config;<br \/>\n\tprivate String allow_ip;<\/p>\n<p>\t\/**<br \/>\n\t *  \u30d1\u30b9\u306b\u5bfe\u3057\u3066\u30a2\u30af\u30bb\u30b9\u5236\u9650\u3092\u884c\u3046<br \/>\n\t * <br \/>\n\t *\/<br \/>\n\tpublic final void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)<br \/>\n\t\t\tthrows IOException, ServletException {<br \/>\n\t\tfinal String ip_address = ((HttpServletRequest) request).getRemoteAddr();<\/p>\n<p>\t\tif (!ip_address.startsWith(allow_ip)) {<br \/>\n\t\t\t((HttpServletResponse) response).sendError(HttpServletResponse.SC_FORBIDDEN);<br \/>\n\t\t}<br \/>\n\t\telse {<br \/>\n\t\t\tchain.doFilter(request, response);<br \/>\n\t\t}<br \/>\n\t}<\/p>\n<p>\tpublic final void init(FilterConfig filterConfig) throws ServletException {<br \/>\n\t\tthis.config = filterConfig;<br \/>\n\t\tthis.allow_ip = config.getInitParameter(&#8220;allowIP&#8221;);<br \/>\n\t}<\/p>\n<p>\tpublic final void destroy() {<br \/>\n\t\tthis.config = null;<br \/>\n\t\tthis.allow_ip = null;<br \/>\n\t}<br \/>\n}\n<\/p><\/blockquote>\n<p>\u305d\u306e\u4ed6\u53c2\u8003:<br \/>\n&#8211; Java \u3067 Hello World<br \/>\n&lt;http:\/\/www.hellohiro.com\/filter.htm><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&lt;http:\/\/www.jajakarta.org\/kvasir\/bbs\/technical\/688?expand=true> jakarta.org: Ja-Jakarta Project \u63b2\u793a\u677f -> Tomc &hellip; <a href=\"https:\/\/www.ecoop.net\/memo\/archives\/2005-09-29-1.html\" class=\"more-link\">\u7d9a\u304d\u3092\u8aad\u3080 <span class=\"screen-reader-text\">Tomcat \u3067 Filter \u3092\u4f7f\u3046\u4f8b(IP\u30a2\u30c9\u30ec\u30b9\u306b\u3088\u308b\u30a2\u30af\u30bb\u30b9\u5236\u9650)<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[141],"tags":[12,38],"class_list":["post-474","post","type-post","status-publish","format-standard","hentry","category-lifehack","tag-security","tag-tomcat"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/www.ecoop.net\/memo\/wp-json\/wp\/v2\/posts\/474","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ecoop.net\/memo\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ecoop.net\/memo\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ecoop.net\/memo\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ecoop.net\/memo\/wp-json\/wp\/v2\/comments?post=474"}],"version-history":[{"count":2,"href":"https:\/\/www.ecoop.net\/memo\/wp-json\/wp\/v2\/posts\/474\/revisions"}],"predecessor-version":[{"id":1524,"href":"https:\/\/www.ecoop.net\/memo\/wp-json\/wp\/v2\/posts\/474\/revisions\/1524"}],"wp:attachment":[{"href":"https:\/\/www.ecoop.net\/memo\/wp-json\/wp\/v2\/media?parent=474"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ecoop.net\/memo\/wp-json\/wp\/v2\/categories?post=474"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ecoop.net\/memo\/wp-json\/wp\/v2\/tags?post=474"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}