Java»ñÈ¡ÇëÇó¿Í»§¶ËµÄÕæÊµIPµØÖ·
ͨ³£Í¨¹ýrequest.getRemoteAddr()
È¡µÃ¿Í»§¶ËµÄIPµØÖ·£¬×ö¼øÈ¨ºÍУÑ飬Â߼ûÎÊÌ⣬ÄÇô¿Ï¶¨request.getRemoteAddr()³öÁËÎÊÌ⣬googleÏ£¬·¢ÏÖÓÐÈËÓöµ½ÀàËÆµÄÎÊÌâ¡£
×îÖÕ¶¨Î»Îª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µØÖ·ºÍÔÀ´¿Í»§¶ËÇëÇóµÄ·þÎñÆ÷µØÖ·¡£
Java´úÂë
public String getIpAddr(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
i
Ïà¹ØÎĵµ£º
DESË㷨ΪÃÜÂëÌåÖÆÖеĶԳÆÃÜÂëÌåÖÆ£¬ÓÖ±»³ÉΪÃÀ¹úÊý¾Ý¼ÓÃܱê×¼
£¬ÊÇ1972ÄêÃÀ¹úIBM
¹«Ë¾ÑÐÖÆµÄ¶Ô³ÆÃÜÂëÌåÖÆ¼ÓÃÜËã·¨¡£ÆäÃÜÔ¿³¤¶ÈΪ56룬Ã÷Îİ´64λ½øÐзÖ×飬½«·Ö×éºóµÄÃ÷ÎÄ×éºÍ56λµÄÃÜÔ¿°´Î»Ìæ´ú»ò½»»»µÄ·½·¨ÐγÉÃÜÎÄ×éµÄ¼ÓÃÜ·½·¨¡£
DES¼ÓÃÜËã·¨ÌØµã£º·Ö×é±È½Ï¶Ì¡¢ÃÜÔ¿Ì«¶Ì¡¢ÃÜÂëÉúÃüÖÜÆÚ¶Ì¡¢ÔËËãËٶȽÏÂý¡£
DES¹¤×÷ ......
ºÜ¶àµÄÎı¾Îļþ»áÓв»Í¬µÄ±àÂë¸ñʽ£¬Ôì³ÉÕâÖÖ±àÂë²îÒìµÄ¿ÉÄÜÊÇϵͳµÄ²îÒ죬¿ÉÄÜÊÇÔÚ±£´æÎļþʱ²ÉÓÃÌØ¶¨µÄ×Ö·û¼¯±àÂëÀ´±£´æ¡£ÕâʱÎÒÃÇÀûÓÃJavaÓïÑÔÀ´´ò¿ªÕâЩÎı¾Ê±£¬Èç¹û²»Ê¹ÓÃÕýÈ·µÄ×Ö·û¼¯½âÂëÆ÷´ò¿ª£¬¿Ï¶¨»á³öÏÖÂÒÂë¡£ºÃÔÚjava.io°üÌṩÁËÒ»¸öjava.io.InputStreamReaderÀàÀ´Ö§³ÖÖ¸¶¨Îı¾× ......
String[] ips = ipValue.split("\\.");
String binaryVal = "";
for (int i = 0; i < ips.length; i++)
{
String binaryStr = Integer.toBinaryString(Integer.parseInt(ips[i]));
Integer times = 8 - binaryStr.length();
......