Äú¿ÉÒÔ¾èÖú£¬Ö§³ÖÎÒÃǵĹ«ÒæÊÂÒµ¡£

1Ôª 10Ôª 50Ôª





ÈÏÖ¤Â룺  ÑéÖ¤Âë,¿´²»Çå³þ?Çëµã»÷Ë¢ÐÂÑéÖ¤Âë ±ØÌî



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
JavaEEÖÐÒÅ©µÄ10¸ö×îÖØÒªµÄ°²È«¿ØÖÆ
 
×÷ÕߣºÐ¡·å  À´Ô´£ºÂëÅ©Íø ·¢²¼ÓÚ 2016-8-23
  2474  次浏览      27
 

JavaEEÓÐһЩ³¬ÔÞµÄÄÚÖð²È«»úÖÆ£¬µ«ËüÃÇÔ¶Ô¶²»Äܸ²¸ÇÓ¦ÓóÌÐòÒªÃæÁÙµÄËùÓÐÍþв¡£ºÜ¶à³£¼û¹¥»÷£¬ÀýÈç¿çÕ¾µã½Å±¾¹¥»÷£¨XSS£©¡¢SQL×¢Èë¡¢ ¿çÕ¾µãαÔìÇëÇó£¨CSRF£©£¬ÒÔ¼°XMLÍⲿʵÌ壨XXE£©Ë¿ºÁûÓк­¸Ç¡£Äã¿ÉÒÔ×èÖ¹webÓ¦ÓóÌÐòºÍweb·þÎñ±©Â¶ÓÚÕâЩ¹¥»÷£¬µ«ÕâÐèÒªÒ»¶¨Á¿µÄ¹¤×÷ºÍ ²âÊÔ¡£ÐÒÔ˵ÄÊÇ£¬Open Web Application Security Project£¨OWASP£©¹«²¼ÁË¡°10´ó×î¹Ø¼üµÄwebÓ¦ÓóÌÐò°²È«·çÏÕ¡±µÄ±¨¸æ¡£

ÈÃÎÒÃÇÀ´¿´¿´ÕâЩ¹Ø¼üµÄ·çÏÕÈçºÎÓ¦ÓÃÓÚJavaEEµÄwebÓ¦ÓóÌÐòºÍweb·þÎñ£º

1.×¢Èë

×¢Èë·¢ÉúÔÚ¿ª·¢ÈËÔ±»ñÈ¡²»¿ÉÐŵÄÐÅÏ¢£¬ÀýÈçrequest.getParameter£¨£©£¬request.getCookie£¨£©£¬»ò request.getHeader£¨£©£¬²¢ÔÚÃüÁî½Ó¿ÚÖÐʹÓÃËüµÄÈκÎʱºò¡£ÀýÈ磬SQL×¢ÈëÔÚÄãÁ¬½Ó²»¿ÉÐŵÄÊý¾Ýµ½³£¹æSQL²éѯ£¬Èç¡°SELECT * FROM users WHERE username=¡®¡° + request.getParameter(¡°user¡±) + ¡°¡® AND password=¡®¡° + request.getParameter(¡°pass¡±) = ¡°¡®¡°Ê±·¢Éú¡£¿ª·¢ÈËÔ±Ó¦¸ÃʹÓÃPreparedStatementÀ´·ÀÖ¹¹¥»÷Õ߸ıä²éѯµÄº¬ÒåºÍ½Ó¹ÜÊý¾Ý¿âÖ÷»ú¡£»¹ÓÐÐí¶àÆäËûÀàÐ͵Ä×¢È룬Èç Command×¢Èë¡¢LDAP×¢ÈëÒÔ¼°Expression Language (EL) ×¢È룬ËùÓÐÕâЩ¶¼¼«¶ÈΣÏÕ£¬Òò´ËÔÚ·¢ËÍÊý¾Ýµ½ÕâЩ½âÊÍÆ÷µÄʱºòÒª¸ñÍâСÐÄ¡£

2.Ë𻵵ÄÑéÖ¤ºÍ»á»°¹ÜÀí

JavaEEÖ§³ÖÉí·ÝÑéÖ¤ºÍ»á»°¹ÜÀí£¬µ«ÕâÀïÓкܶàÈÝÒ׳ö´íµÄµØ·½¡£Äã±ØÐëÈ·±£ËùÓо­¹ýÑéÖ¤Á÷Á¿¶¼Í¨¹ýSSL£¬Ã»ÓÐÀýÍâ¡£Èç¹ûÄãÔø¾­±©Â¶ JSESSIONID£¬ÄÇôËü¾Í¿É±»ÓÃÀ´ÔÚÄã²»ÖªÇéµÄÇé¿öϽٳÖÓû§»á»°¡£ÄãÓ¦¸ÃÐýתJSESSIONID£¬ÔÚÓû§½øÐÐÉí·ÝÑéÖ¤ÒÔ·ÀÖ¹»á»°¹Ì¶¨¹¥»÷ £¨Session Fixation attack£©µÄʱºò¡£ÄãÓ¦¸Ã±ÜÃâʹÓÃresponse.encodeURL£¨£©£¬ÒòΪËü»áÌí¼ÓÓû§µÄJSESSIONIDµ½URL£¬Ê¹µÃ¸üÈÝÒ×±»Åû¶»ò ±»µÁ¡£

3.¿çÕ¾µã½Å±¾¹¥»÷£¨XSS£©

XSS·¢ÉúÔÚµ±JavaEE¿ª·¢ÈËÔ±´ÓHTTPÇëÇó»ñÈ¡²»¿ÉÐŵÄÐÅÏ¢£¬²¢°ÑËü·Åµ½HTTPÏìÓ¦ÖУ¬¶øÃ»ÓÐÊʵ±µÄÉÏÏÂÎÄÊä³ö±àÂëµÄʱºò¡£¹¥»÷Õß¿ÉÒÔÀû ÓÃÕâ¸öÐÐΪ½«ËûÃǵĽű¾×¢ÈëÍøÕ¾£¬È»ºóÔÚÕâ¸öÍøÕ¾ÉϽٳֻỰºÍÇÔÈ¡Êý¾Ý¡£ÎªÁË·ÀÖ¹ÕâЩ¹¥»÷£¬¿ª·¢ÈËÔ±ÐèÒªÖ´ÐÐÃô¸ÐµÄÉÏÏÂÎÄÊä³ö±àÂë¡£Èç¹ûÄã°ÑÊý¾Ýת»»³É HTML£¬Ê¹ÓÃ&#xx;¸ñʽ¡£ÇëÎñ±ØÀ¨ºÅHTMLÊôÐÔ£¬ÒòΪÓкܶ಻ͬ×Ö·û¶ø²»´øÀ¨ºÅµÄÊôÐԻᱻÖÕÖ¹¡£Èç¹ûÄã°Ñ²»¿ÉÐŵÄÊý¾Ý·Åµ½ JavaScript£¬URL»òCSSÖУ¬ÄÇô¶ÔÓÚÿһ¸öÄã¶¼Ó¦¸ÃʹÓÃÏàÓ¦µÄתÒå·½·¨¡£²¢ÇÒÔÚºÍǶÌ×ÉÏÏÂÎÄ£¬ÈçÒ»¸öÓÃJavascriptдµÄÔÚHTML ÊôÐÔÖеÄURL´ò½»µÀʱ£¬Òª·Ç³£Ð¡ÐÄ¡£Äã¿ÉÄÜ»áÏëÒª±àÂë¿â£¬ÀýÈçOWASP ESAPIµÄ°ïÖú¡£

4.²»°²È«µÄÖ±½Ó¶ÔÏóÒýÓÃ

ÈκÎʱºòÓ¦ÓóÌÐò±©Â¶ÁËÒ»¸öÄÚ²¿±êʶ·û£¬ÀýÈçÊý¾Ý¿âÃÜÔ¿£¬ÎļþÃû£¬»òhashmapË÷Òý£¬¹¥»÷Õ߾ͿÉÒÔ³¢ÊÔ²Ù×ÝÕâЩ±êʶ·ûÀ´·ÃÎÊδ¾­ÊÚȨµÄÊý¾Ý¡£Àý È磬Èç¹ûÄ㽫À´×ÔÓÚHTTPÇëÇóµÄ²»¿ÉÐŵÄÊý¾Ý´«µÝµ½JavaÎļþ¹¹ÔìÆ÷£¬¹¥»÷Õ߾ͿÉÒÔÀûÓá°../¡±»ò¿Õ×Ö½Ú¹¥»÷À´ÆÛÆ­ÄãµÄÑéÖ¤¡£ÄãÓ¦¸Ã¿¼ÂǶÔÄãµÄÊý¾Ý ʹÓüä½ÓÒýÓã¬ÒÔ·ÀÖ¹ÕâÖÖÀàÐ͵Ĺ¥»÷¡£ESAPI¿âÖ§³Ö´Ù½øÕâÖÖ¼ä½ÓÒýÓõÄReferenceMaps¡£

5.´íÎóµÄ°²È«ÅäÖÃ

ÏÖ´úµÄJavaEEÓ¦ÓóÌÐòºÍ¿ò¼Ü£¬ÀýÈçStrutsºÍSpringÖÐÓÐ×Å´óÁ¿µÄ°²È«ÉèÖá£È·¶¨ÄãÒѾ­ä¯ÀÀ¹ýÕâЩ°²È«ÉèÖ㬲¢°´ÄãÏëÒªµÄÄÇÑùÉèÖᣠÀýÈ磬СÐÄ<security-constraint>ÖеÄ<http-method>±êÇ©¡£Õâ±íÃ÷°²È«Ô¼Êø½öÊÊÓÃÓÚÁгöµÄ·½ ·¨£¬ÔÊÐí¹¥»÷ÕßʹÓÃÆäËûHTTP·½·¨£¬ÈçHEADºÍPUT£¬À´ÈƹýÕû¸ö°²È«Ô¼Êø¡£Ò²ÐíÄãÓ¦¸Ãɾ³ýweb.xmlÖеÄ<http- method>±êÇ©¡£

6.Ãô¸ÐÊý¾Ý±©Â¶

JavaÓдóÁ¿µÄ¼ÓÃܿ⣬µ«ËüÃDz»ÈÝÒ×ÕýȷʹÓá£ÄãÓ¦¸ÃÕÒµ½Ò»¸ö½¨Á¢ÔÚJCE»ù´¡ÉϵĿ⣬²¢ÇÒËüÄܹ»·½±ã¡¢°²È«µØÌṩÓÐÓõļÓÃÜ·½·¨¡£±ÈÈç JasyptºÍESAPI¾ÍÊÇÕâÑùµÄ¿â¡£ÄãÓ¦¸ÃʹÓÃÇ¿´óµÄËã·¨£¬ÈçAESÓÃÓÚ¼ÓÃÜ£¬ÒÔ¼°SHA256ÓÃÓÚhashes¡£µ«ÊÇҪСÐÄÃÜÂëhashes£¬ÒòΪ ËüÃÇ¿ÉÒÔÀûÓÃRainbow Table±»½âÃÜ£¬ËùÒÔҪʹÓÃ×ÔÊÊÓ¦Ëã·¨£¬Èçbcrypt»òPBKDF2¡£

7.ȱÉÙ¹¦Äܼ¶·ÃÎÊ¿ØÖÆ

JavaEEÖ§³ÖÉùÃ÷ʽºÍ³ÌÐòʽµÄ·ÃÎÊ¿ØÖÆ£¬µ«ºÜ¶àÓ¦ÓóÌÐòÈÔÈ»»áÑ¡Ôñ´´ÔìËüÃÇ×Ô¼ºµÄ·½°¸¡£ÏñSpring¿ò¼ÜÒ²ÓлùÓÚ×¢Ê͵ķÃÎÊ¿ØÖÆ»ùÔª¡£×îÖØÒª µÄÊÂÇéÊÇҪȷ±£Ã¿Ò»¸ö±©Â¶µÄ¶Ë¿Ú¶¼ÒªÓÐÊʵ±µÄ·ÃÎÊ¿ØÖƼì²é£¬°üÀ¨web·þÎñ¡£²»ÒªÒÔΪ¿Í»§¶Ë¿ÉÒÔ¿ØÖÆÈκζ«Î÷£¬ÒòΪ¹¥»÷Õß»áÖ±½Ó·ÃÎÊÄãµÄ¶Ëµã¡£

8.¿çÕ¾µãαÔìÇëÇó£¨CSRF£©

ÿ¸ö¸Ä±ä״̬µÄ¶ËµãÐèÒªÑéÖ¤ÇëÇóÓÐûÓб»Î±Ôì¡£¿ª·¢ÈËÔ±Ó¦¸ÃÔÚÿ¸öÓû§µÄ»á»°ÖзÅÈëËæ»úÁîÅÆ£¬È»ºóµ±ÇëÇóµ½´ïµÄʱºòÑéÖ¤Ëü¡£·ñÔò£¬¹¥»÷Õ߾ͿÉÒÔͨ¹ý Á´½Óµ½Î´Êܱ£»¤µÄÓ¦ÓóÌÐòµÄ¶ñÒâIMG£¬SCRIPT, FRAME»òFORM±êÇ©µÈ´´½¨¡°¹¥»÷¡±Ò³Ãæ¡£µ±Êܺ¦Õßä¯ÀÀÕâÖÖÒ³ÃæÊ±£¬ä¯ÀÀÆ÷»áÉú³ÉÒ»¸ö¡°Î±Ô족µÄHTTPÇëÇóµ½URLÔÚ±êÇ©Öб»Ö¸¶¨µÄÈκÎÄÚÈÝ£¬²¢ÇÒ ×Ô¶¯°üÀ¨Êܺ¦È˵ÄÈÏÖ¤ÐÅÏ¢¡£

9.ʹÓôøÓÐÒÑ֪©¶´µÄ×é¼þ

ÏÖ´úµÄJavaEEÓ¦ÓóÌÐòÓÐÊý°Ù¸ö¿â¡£ÒÀÀµÐÔ½âÎö¹¤¾ß£¬ÈçMaven£¬µ¼ÖÂÁËÕâ¸öÊý×ÖÔÚ¹ýÈ¥ÎåÄêʱ¼äÀï³öÏÖ±¬Õ¨Ê½Ôö³¤¡£Ðí¶à¹ã·ºÊ¹ÓõÄJava¿â ¶¼ÓÐһЩÒÑÖªµÄ©¶´£¬»áÈÃwebÓ¦ÓóÌÐò±»ÍêÈ«µß¸²¡£½â¾öµÄ°ì·¨ÊǼ°Ê±¸üп⡣²»ÒªÖ»ÔËÐе¥Ò»É¨Ã裬ÒòΪеĩ¶´Ã¿Ìì¶¼ÔÚ·¢²¼¡£

10.δ¾­ÑéÖ¤µÄתַºÍתËÍ

ÈκÎʱºòÄãµÄÓ¦ÓóÌÐòʹÓò»¿ÉÐŵÄÊý¾Ý£¬ÀýÈçrequest.getParameter£¨£©»òrequest.getCookie£¨£©£¬ÔÚµ÷Óà response.sendRedirect£¨£©Ê±£¬¹¥»÷Õß¿ÉÒÔÇ¿ÖÆÊܺ¦ÕßµÄä¯ÀÀÆ÷תµ½Ò»¸ö²»ÊÜÐÅÈεÄÍøÕ¾£¬Ä¿µÄÔÚÓÚ°²×°¶ñÒâÈí¼þ¡£forwardÒ²´æÔÚ ×ÅÀàËÆµÄÎÊÌ⣬²»Í¬Ö®´¦ÔÚÓÚ¹¥»÷Õß¿ÉÒÔתËÍËûÃÇ×Ô¼ºµ½Î´¾­ÊÚȨµÄ¹¦ÄÜ£¬Èç¹ÜÀíÒ³Ãæ¡£Ò»¶¨Òª×ÐϸÑé֤תַºÍתËÍÄ¿±ê¡£

ÄãÓ¦¸Ã³ÖÐøÁôÒâÕâЩÎÊÌâ¡£ÐµĹ¥»÷ºÍ©¶´×ÜÊÇÔÚ±»·¢ÏÖ¡£ÀíÏëÇé¿öÏ£¬Äã¿ÉÒÔ¼¯³É°²È«¼ì²éµ½ÏÖÓеĹ¹½¨¡¢²âÊԺͲ¿Êð¹ý³Ì¡£

ÒªÔÚÓ¦ÓóÌÐòÖмì²éÕâЩÎÊÌ⣬¿ÉÒÔ³¢ÊÔÃâ·ÑµÄContrast for Eclipse²å¼þ ¡£Õâ²»ÊÇÒ»¸ö¼òµ¥µÄ¾²Ì¬·ÖÎö¹¤¾ß¡£Ïà·´£¬C4EÀûÓÃJavaÒÇ±í»¯API£¬À´¼àÊÓÓ¦ÓóÌÐòÖÐÓ밲ȫÏà¹ØµÄÒ»ÇС£ C4EÉõÖÁÄÜʵʱµØ×öµ½ÍêÕûµÄÊý¾ÝÁ÷·ÖÎö£¬Òò´ËËü¿ÉÒÔ¸ú×ÙÀ´×ÔÓÚÇëÇóµÄÊý¾Ý£¬Í¨¹ýÒ»¸ö¸´ÔÓµÄÓ¦ÓóÌÐò¡£ÀýÈ磬¼ÙÉèÄãµÄ´úÂë»ñÈ¡ÁËÒ»¸ö²ÎÊýÖµ£¬Óà base64½âÂëËü£¬ÔÙ´æ´¢ÓÚmapÖУ¬°Ñmap·Åµ½Êý¾ÝbeanÖУ¬ÔÙ½«bean´æ´¢µ½Ò»¸ö»á»°ÊôÐÔÖУ¬ÔÚJSPÖлñÈ¡beanµÄÖµ£¬²¢Ê¹ÓÃEL½«Õâ¸ö Öµ²åÈëµ½ÍøÒ³¡£Contrast for Eclipse¿ÉÒÔ¸ú×ÙÕâЩÊý¾Ý²¢±¨¸æXSS©¶´¡£ÄÄÅÂÄãÕýÔÚʹÓõÄÊǸ´ÔӵĿò¼ÜºÍ¿â¡£Ã»ÓÐÆäËû¹¤¾ßÄÜÔÚËÙ¶È£¬¾«¶ÈºÍÒ×ÓÃÐÔ·½ÃæÓëÖ®æÇÃÀ¡£

Äã¿ÉÒÔÔÚEclipse MarketplaceÕÒµ½Contrast for Eclipse¡£È»ºó£¬Ö»Ðèתµ½·þÎñÆ÷Ñ¡Ï¡°Start with Contrast¡±¡ª¡ªÊ£Ïµľͽ»¸øËü°ì°É¡£

 

   
2474 ´Îä¯ÀÀ       27
Ïà¹ØÎÄÕÂ

Java΢·þÎñÐÂÉú´úÖ®Nacos
ÉîÈëÀí½âJavaÖеÄÈÝÆ÷
JavaÈÝÆ÷Ïê½â
Java´úÂëÖÊÁ¿¼ì²é¹¤¾ß¼°Ê¹Óð¸Àý
Ïà¹ØÎĵµ

JavaÐÔÄÜÓÅ»¯
Spring¿ò¼Ü
SSM¿ò¼Ü¼òµ¥¼òÉÜ
´ÓÁ㿪ʼѧjava±à³Ì¾­µä
Ïà¹Ø¿Î³Ì

¸ßÐÔÄÜJava±à³ÌÓëϵͳÐÔÄÜÓÅ»¯
JavaEE¼Ü¹¹¡¢ Éè¼ÆÄ£Ê½¼°ÐÔÄܵ÷ÓÅ
Java±à³Ì»ù´¡µ½Ó¦Óÿª·¢
JAVAÐéÄâ»úÔ­ÀíÆÊÎö
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

Java ÖеÄÖÐÎıàÂëÎÊÌâ
Java»ù´¡ÖªÊ¶µÄÈýÊ®¸ö¾­µäÎÊ´ð
Íæ×ª Java Web Ó¦Óÿª·¢
ʹÓÃSpring¸üºÃµØ´¦ÀíStruts
ÓÃEclipse¿ª·¢iPhone WebÓ¦ÓÃ
²å¼þϵͳ¿ò¼Ü·ÖÎö

Struts+Spring+Hibernate
»ùÓÚJ2EEµÄWeb 2.0Ó¦Óÿª·¢
J2EEÉè¼ÆÄ£Ê½ºÍÐÔÄܵ÷ÓÅ
Java EE 5ÆóÒµ¼¶¼Ü¹¹Éè¼Æ
Javaµ¥Ôª²âÊÔ·½·¨Óë¼¼Êõ
Java±à³Ì·½·¨Óë¼¼Êõ

Struts+Spring+Hibernate/EJB+ÐÔÄÜÓÅ»¯
»ªÏÄ»ù½ð ActiveMQ Ô­ÀíÓë¹ÜÀí
ijÃñº½¹«Ë¾ Java»ù´¡±à³Ìµ½Ó¦Óÿª·¢
ij·çµç¹«Ë¾ Java Ó¦Óÿª·¢Æ½Ì¨ÓëÇ¨ÒÆ
ÈÕÕÕ¸Û J2EEÓ¦Óÿª·¢¼¼Êõ¿ò¼ÜÓëʵ¼ù
ij¿ç¹ú¹«Ë¾ ¹¤×÷Á÷¹ÜÀíJBPM
¶«·½º½¿Õ¹«Ë¾ ¸ß¼¶J2EE¼°ÆäÇ°ÑØ¼¼Êõ