Java»ñÈ¡ÇëÇó¿Í»§¶ËµÄÕæÊµIPµØÖ·
ÔÚJSPÀ»ñÈ¡¿Í»§¶ËµÄIPµØÖ·µÄ·½·¨ÊÇ£ºrequest.getRemoteAddr()£¬ÕâÖÖ·½·¨Ôڴ󲿷ÖÇé¿ö϶¼ÊÇÓÐЧµÄ¡£µ«ÊÇÔÚͨ¹ýÁËApache,SquidµÈ·´Ïò´úÀíÈí¼þ¾Í²»ÄÜ»ñÈ¡µ½¿Í»§¶ËµÄÕæÊµIPµØÖ·ÁË¡£
Èç¹ûʹÓÃÁË·´Ïò´úÀíÈí¼þ£¬½«http://192.168.1.110:2046/ µÄURL·´Ïò´úÀíΪhttp://www.xxx.com/ µÄURLʱ£¬ÓÃrequest.getRemoteAddr()·½·¨»ñÈ¡µÄIPµØÖ·ÊÇ£º127.0.0.1¡¡»ò¡¡192.168.1.110£¬¶ø²¢²»Êǿͻ§¶ËµÄÕæÊµ£É£Ð¡£
¾¹ý´úÀíÒÔºó£¬ÓÉÓÚÔÚ¿Í»§¶ËºÍ·þÎñÖ®¼äÔö¼ÓÁËÖмä²ã£¬Òò´Ë·þÎñÆ÷ÎÞ·¨Ö±½ÓÄõ½¿Í»§¶ËµÄIP£¬·þÎñÆ÷¶ËÓ¦ÓÃÒ²ÎÞ·¨Ö±½Óͨ¹ýת·¢ÇëÇóµÄµØÖ··µ»Ø¸ø¿Í»§¶Ë¡£µ«ÊÇÔÚת·¢ÇëÇóµÄHTTPÍ·ÐÅÏ¢ÖУ¬Ôö¼ÓÁËX£FORWARDED£FORÐÅÏ¢¡£ÓÃÒÔ¸ú×ÙÔÓеĿͻ§¶ËIPµØÖ·ºÍÔÀ´¿Í»§¶ËÇëÇóµÄ·þÎñÆ÷µØÖ·¡£µ±ÎÒÃÇ·ÃÎÊhttp://www.xxx.com/index.jsp/ ʱ£¬Æäʵ²¢²»ÊÇÎÒÃÇä¯ÀÀÆ÷ÕæÕý·ÃÎʵ½ÁË·þÎñÆ÷ÉϵÄindex.jspÎļþ£¬¶øÊÇÏÈÓÉ´úÀí·þÎñÆ÷È¥·ÃÎÊhttp://192.168.1.110:2046 /index.jsp £¬´úÀí·þÎñÆ÷ÔÙ½«·ÃÎʵ½µÄ½á¹û·µ»Ø¸øÎÒÃǵÄä¯ÀÀÆ÷£¬ÒòΪÊÇ´úÀí·þÎñÆ÷È¥·ÃÎÊindex.jspµÄ£¬ËùÒÔindex.jspÖÐͨ¹ý request.getRemoteAddr()µÄ·½·¨»ñÈ¡µÄIPʵ¼ÊÉÏÊÇ´úÀí·þÎñÆ÷µÄµØÖ·£¬²¢²»Êǿͻ§¶ËµÄIPµØÖ·¡£
ÓÚÊǿɵóö»ñµÃ¿Í»§¶ËÕæÊµIPµØÖ·µÄ·½·¨Ò»£º
Java´úÂë
# public String getRemortIP(HttpServletRequest request) {
# if (request.getHeader("x-forwarded-for") == null) {
# return request.getRemoteAddr();
# }
# return request.getHeader("x-forwarded-for");
#
# } public String getRemortIP(HttpServletRequest request) { if (request.getHeader("x-forwarded-for") == null) { return request.getRemoteAddr(); } return request.getHeader("x-forwarded-for"); }
¿ÉÊǵ±ÎÒ·ÃÎÊ http://www.xxx.com/index.jsp/ ʱ£¬·µ»ØµÄIPµØÖ·Ê¼ÖÕÊÇunknown£¬Ò²²¢²»ÊÇÈçÉÏËùʾµÄ127.0.0.1¡¡»ò¡¡192.168.1.110ÁË£¬¶øÎÒ·ÃÎÊ http://192.168.1.110:2046/index.jsp ʱ£¬ÔòÄÜ·µ»Ø¿Í»§¶ËµÄÕæÊµIPµØÖ·£¬Ð´Á˸ö·½·¨È¥ÑéÖ¤¡£ÔÒò³öÔÚÁËSquidÉÏ¡£squid.conf µÄÅäÖÆÎļþ¡¡forwarded_for ÏîĬÈÏÊÇΪon£¬Èç¹û forwarded_for Éè³ÉÁË off ¡¡Ôò£ºX-Forwarded-For: unknown
ÓÚÊǿɵóö»ñµÃ¿Í»§¶ËÕæÊµIPµØÖ·µÄ·½·¨¶þ£º
Java´úÂë
# public String getIp
Ïà¹ØÎĵµ£º
Javaѧϰ´ÓÈëÃŵ½¾«Í¨
Ò»¡¢ JDK (Java Development Kit)
JDKÊÇÕû¸öJavaµÄºËÐÄ£¬°üÀ¨ÁËJavaÔËÐл·¾³£¨Java Runtime Envirnment£©£¬Ò»¶ÑJava¹¤¾ßºÍJava»ù´¡µÄÀà¿â(rt.jar)¡£²»ÂÛʲôJavaÓ¦Ó÷þÎñÆ÷ʵÖʶ¼ÊÇÄÚÖÃÁËij¸ö°æ±¾µÄJDK¡£Òò´ËÕÆÎÕJDKÊÇѧºÃJavaµÄµÚÒ»²½¡£×îÖ÷Á÷µÄJ ......
¡¡¡¡inkfishÔ´´£¬ÇëÎðÉÌÒµÐÔÖÊ×ªÔØ£¬×ªÔØÇë×¢Ã÷À´Ô´£¨http://blog.csdn.net/inkfish£©¡£
¡¡¡¡Ñ¹ËõÊDZà³ÌÖг£¼ûµÄ¼¼ÇÉ£¬¶àÓÃÓÚ´óÎļþѹËõ£¬Êý¾ÝÁ÷ѹËõµÈ¡£ÔÚJavaÀà¿âÖУ¬ÄÚÖÃÁËjar¡¢ZIP¡¢GZIP¡¢ZLIBµÈµÄÖ§³Ö£¨¼ûjava.util.zip¡¢java.util.jar°ü£©¡£ÁíÍâÔÚApacheÏîÄ¿ÏÂAntÖÐant.jarµÄorg.apache.tools.tar¡¢org.apache.tool ......
¡¡¡¡inkfishÔ´´£¬ÇëÎðÉÌÒµÐÔÖÊ×ªÔØ£¬×ªÔØÇë×¢Ã÷À´Ô´£¨http://blog.csdn.net/inkfish£©¡£
¡¡¡¡ÕâÀïÐèÒª¹Ø×¢µÄÊÇBZIP2¸ñʽ£¬¾¹ý²âÊÔ£¬×ÜÊÇÎÞ·¨ÕýȷѹËõ£¬ÔÒòδ֪£¬¶øapache commons bzip2¸ñʽµÄÎļþѹËõÕý³£¡££¨À´Ô´£ºhttp://blog.csdn.net/inkfish£©
Ant ZIPѹËõ£º£¨À´Ô´£ºhttp://blog.csdn.net/inkfish£©
package stu ......
´ó¼Ò¶¼ÖªµÀ actionÅäÖÃÔÚstruts-config.xmlÖУ¬¶østruts-config.xmlÊÇÔÚtomcatÆô¶¯Ê±¶ÁÈ¡µÄÄÇactionÊDz»ÊÇÔÚÕâ¸öʱºò³õʼ»¯µÄ
ÎÒÃÇ¿ÉÒÔÔÚactionÀàÀï½øÐвâÊÔ ÔÚ¹¹Ô캯ÊýÀï´òÓ¡Ò»¾ä»° ¾²âÊÔactionÊÇÔÚµ÷ÓÃactionʱ³õʼ»¯£¬²¢ÇÒ¶à´Îµ÷ÓÃÖ»³õʼ»¯Ò»´Î£¬
ÕâÒ²¾ÍÊÇËùÓеÄÇëÇó¹²ÏíactionʵÀý
ËùÒÔactionÊÇÏ̲߳»°²È«µÄ£¬ ......
InetAddressÀà´ú±íIPµØÖ·£¬ÓÐÁ½¸ö×ÓÀ࣬Inet4Address£¬Inet6Address´ú±íIPV4ºÍIPv6£¬Ã»Óй¹Ôì·½·¨£¬µ«ÊÇÌṩ¸öÁËÁ½¸ö¾²Ì¬·½·¨À´»ñÈ¡InetAddressʵÀý£ºgetByName(String host):¸ù¾ÝÖð¾ä»ñÈ¡¶ÔÓ¦µÄInetAddress¶ÔÏó£»getByAddress(byte[]addr):¸ù¾ÝÔʼIPµØÖ·À´»ñÈ¡¶ÔÓ¦µÄInetAddress¶ÔÏ ......