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

1Ôª 10Ôª 50Ôª





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



  ÇóÖª ÎÄÕ ÎÄ¿â Lib ÊÓÆµ iPerson ¿Î³Ì ÈÏÖ¤ ×Éѯ ¹¤¾ß ½²×ù Modeler   Code  
»áÔ±   
 
   
 
 
     
   
 ¶©ÔÄ
  ¾èÖú
Ê®·ÖÖÓ½â¾öÅÀ³æÎÊÌ⣡³¬ÇáÁ¿¼¶·´ÅÀ³æ·½°¸
 
×÷ÕߣºÆñ°²¿Æ¼¼ À´Ô´£º51CTO ·¢²¼ÓÚ£º2016-10-28
  2805  次浏览      27

±¾ÎĽ«ÃèÊöÒ»ÖÖ¾¡Á¿¼òµ¥µÄ·´ÅÀ³æ·½°¸£¬¿ÉÒÔÔÚÊ®¼¸·ÖÖÓÄÚ½â¾ö²¿·Ö¼òµ¥µÄÅÀ³æÎÊÌ⣬»º½â¶ñÒâ¹¥»÷»òÕßÊÇϵͳ³¬¸ººÉÔËÐеÄ×´¿ö£»ÖÁÓÚ¸´ÔÓµÄÅÀ³æÒÔ¼°¸ü¾«×¼µÄ·ÀÓù£¬ÐèÒªÁíÍâÌÖÂÛ¡£

ÅÀ³æºÍ·´ÅÀ³æÈÕÒæ³ÉΪÿ¼Ò¹«Ë¾µÄ±êÅäϵͳ¡£ÅÀ³æÔÚÇ鱨»ñÈ¡¡¢Ðé¼ÙÁ÷Á¿¡¢¶¯Ì¬¶¨¼Û¡¢¶ñÒâ¹¥»÷¡¢Þ¶ÑòëµÈ·½Ãæ¶¼ÄÜÆðµ½ºÜ¹Ø¼üµÄ×÷Óã¬ËùÒÔÿ¼Ò¹«Ë¾¶¼»ò¶à»òÉÙµÄÐèÒª¿ª·¢Ò»Ð©ÅÀ³æ³ÌÐò£¬Òµ½çÔÚÕâ·½ÃæµÄ³ÉÊìµÄ·½°¸Ò²·Ç³£¶à;ÓÐì¾ÍÓжܣ¬Ã¿¼Ò¹«Ë¾Ò²ÏàÓ¦µÄÐèÒª·´ÅÀ³æÏµÍ³À´´ïµ½Êý¾Ý±£»¤¡¢ÏµÍ³Îȶ¨ÐÔ±£ÕÏ¡¢¾ºÕùÓÅÊÆ±£³ÖµÄÄ¿µÄ¡£

È»¶ø£¬Ò»·½Ãæ·ÀÊØÕâÊÂROI²»ºÃÌåÏÖ£¬ÁíÒ»·½Ãæ·´ÅÀ³æÕâÖÖϵͳ£¬Ïà¶Ô¼òµ¥µÄÅÀ³æÀ´ËµÄѶȺ͸´ÔӶȶ¼Òª¸ßºÜ¶à£¬ÍùÍùÐèÒªÒ»ÕûÌ×´óÊý¾Ý½â¾ö·½°¸²ÅÄܰÑÊÂÇé×öºÃ£¬Òò´ËÖ»ÓÐÉÙÁ¿µÄ¹«Ë¾¿ÉÒÔÍæ×ªÆðÀ´¡£µ±³öÏÖÎÊÌâµÄʱºò£¬ºÜ¶à¹«Ë¾ÍùÍùÊøÊÖÎ޲ߡ£

±¾ÎĽ«ÃèÊöÒ»ÖÖ¾¡Á¿¼òµ¥µÄ·´ÅÀ³æ·½°¸£¬¿ÉÒÔÔÚÊ®¼¸·ÖÖÓÄÚ½â¾ö²¿·Ö¼òµ¥µÄÅÀ³æÎÊÌ⣬»º½â¶ñÒâ¹¥»÷»òÕßÊÇϵͳ³¬¸ººÉÔËÐеÄ×´¿ö;ÖÁÓÚ¸´ÔÓµÄÅÀ³æÒÔ¼°¸ü¾«×¼µÄ·ÀÓù£¬ÐèÒªÁíÍâÌÖÂÛ¡£

ÕûÌ×·½°¸»á¾¡Á¿¼òµ¥Ò×¶®£¬²»»áÉæ¼°µ½×¨ÃŵijÌÐò¿ª·¢£¬Í¬Ê±¾¡Á¿ÀûÓÃÏÖÓеÄ×é¼þ£¬±ÜÃâ¶îÍâ×é¼þµÄÒýÈë¡£ÄÚÈÝÉÏÖ÷Òª·ÖΪÈý´ó²¿·Ö£º

1.·ÃÎÊÊý¾Ý»ñÈ¡¡£²É¼¯Óû§µÄ·ÃÎÊÊý¾Ý£¬ÓÃÀ´×öÅÀ³æ·ÖÎöµÄÊý¾ÝÔ´

2.ÅÀ³æ·â½û¡£µ±ÕÒµ½ÅÀ³æºó£¬Ïë°ì·¨È¥×è¶ÏËüºóÐøµÄ·ÃÎÊ

3.ÅÀ³æ·ÖÎö¡£Ê¾Àýͨ¹ý¼òµ¥²ßÂÔÀ´·ÖÎö³öÅÀ³æ

¼òµ¥µÄÊý¾Ý»ñÈ¡

Êý¾Ý»ñÈ¡ÊÇ×öºÃ·´ÅÀ³æÏµÍ³µÄ¹Ø¼ü£¬³£¼ûµÄ¼¸ÖÖģʽ

±¾Æª£¬²ÉÓÃnginxµÄÈÕÖ¾·½Ê½£¬ÕâÖÖÖ»ÐèҪͨ¹ý¶Ô³£¼ûµÄnginx×î¼òµ¥µÄÅäÖþÍÄÜ´ÓÔ¶³Ì»ñÈ¡ÏàÓ¦µÄ·ÃÎÊÈÕÖ¾

¹Ù·½nginxÅäÖãº

    log_format warden '" "$remote_addr" "$remote_port" 
"$server_addr" "$server_port" "$request_length" "$content_length"
 "$body_bytes_sent" "$request_uri" "$host" "$http_user_agent" "$status
" "$http_cookie" "$request_method" "$http_referer" "$http_x_forwarded_for" "$request_time"
 "$sent_http_set_cookie" "$content_type" "$upstream_http_content_type" "$request_body"\n'; 
access_log syslog:server=127.0.0.1:9514 warden ;

tengineÅäÖÃ(±àÒëʱ´øÉÏ--with-syslog)

    log_format warden '" "$remote_addr" "$remote_port" "$server_addr"
 "$server_port" "$request_length"
 "$content_length" "$body_bytes_sent" "$request_uri" "$host" "
$http_user_agent" "$status" "$http_cookie" "$request_method"
 "$http_referer" "$http_x_forwarded_for" "$request_time"
 "$sent_http_set_cookie" "$content_type" "$upstream_http_content_type"
 "$request_body"\n'; 
access_log syslog:user::127.0.0.1:9514 warden ;

ÕâÀïÃæÐèҪעÒâµÄÊÇ£º

1.ÓÉÓÚ½ÏÀϵÄnginx¹Ù·½°æ±¾²»Ö§³Ösyslog£¬ËùÒÔtengineÔÚÕâ¿é¹¦ÄÜÉÏ×öÁ˵¥¶ÀµÄ¿ª·¢(ÐèҪͨ¹ý±àÒëÑ¡ÏîÀ´ÆôÓÃ)£¬ÔÚ²»È·¶¨µÄÇé¿öÏ£¬ÇëÐÞ¸ÄÅäÖà ÎļþºóÏÈʹÓÃ(nginx -t)À´²âÊÔһϣ¬Èç¹û²»Í¨¹ý£¬ÐèÒªÖØÐÂÔÚconfigureʱ¼ÓÉÏsyslogÑ¡Ï²¢±àÒë¡£

2.¾¡Á¿»ñÈ¡Á˸úÅÀ³æÏà¹ØµÄÊý¾Ý×ֶΣ¬Èç¹ûÓж¨ÖƵÄhttp header£¬¿ÉÒÔ×ÔÐмÓÉÏ ²ÉÓÃudp·½Ê½À´·¢ËÍsyslog£¬¿ÉÒÔ½«·ÃÎÊÈÕÖ¾·¢Ë͸øÔ¶¶Ë·ÖÎö·þÎñ£¬Í¬Ê±udpµÄ·½Ê½±£Ö¤nginx±¾Éí²»»áÊܵ½Ó°Ïì

3.·ÃÎÊÈÕÖ¾Äò»µ½ÏìÓ¦µÄ¾ßÌåÄÚÈÝ(nginxÓа취¸ã¶¨£¬µ«Óдú¼Û)£¬ÎÞ·¨Ö§³ÖÒµÎñÏà¹ØµÄ·À»¤

¼òµ¥µÄÅÀ³æ·â½û

·´ÅÀ³æ×îºóµÄÉúЧ£¬ÐèÒª¿¿ºÏÀíµÄ·â½ûģʽ£¬ÕâÀï±È½Ï¼¸ÖÖģʽ£º

±¾¶Î½«½éÉÜ»ùÓÚiptablesµÄ·½°¸£¬ËäÈ»ÊÊÓ÷¶Î§½ÏС;µ«ÊÇÒÀÀµÉÙ£¬¿ÉÒÔͨ¹ý¼òµ¥ÅäÖÃlinux¾ÍÄܴﵽЧ¹û¡£

µÚÒ»²½

    °²×°ipset¡£ipsetÀ©³äÁËiptablesµÄ»ù±¾¹¦ÄÜ£¬¿ÉÒÔÌṩ¸ü¼Ó¸ßЧµÄ·ÃÎÊ¿ØÖÆ 

# centos 6.5ÉÏÃæ°²×°·Ç³£¼òµ¥

sudo yum install -y ipset

µÚ¶þ²½

ÔÚiptablesÖн¨Á¢ÏàÓ¦µÄipset£¬À´½øÐзÃÎÊȨÏ޵ķâ½û

    # ÐÂÔöÓÃÓÚ·â½ûµÄipset 
sudo ipset -N --exist warden_blacklist iphash
# Ôö¼ÓÏàÓ¦µÄiptables¹æÔò
sudo iptables -A INPUT -m set --set warden_blacklist src -j DROP
# ±£´æiptables
sudo service iptables save

µÚÈý²½

»ñÈ¡µ±Ç°·â½ûµÄipºÚÃûµ¥£¬²¢µ¼Èëµ½iptablesÀïÃæÈ¥

    sudo ipset --exist destroy warden_blacklist_tmp;
 sudo ipset -N warden_blacklist_tmp iphash; echo "1.1.1.1,2.2.2.2" | tr ,
 "\n" | xargs -n 1 -I {} sudo ipset -A warden_blacklist_tmp {} ; 
sudo ipset swap warden_blacklist_tmp warden_blacklist 

ÕâÀïΪÁ˾¡¿ÉÄܵÄÌáÉýЧÂÊ£¬×÷ÁËÒÔÏÂÊÂÇ飺

1.½¨Á¢ÁÙʱipset£¬·½±ã×ö²Ù×÷

2.½«µ±Ç°·â½ûºÚÃûµ¥ÖеÄipÌáÈ¡³öÀ´£¬¼ÓÈëµ½´Ëipset(ʾÀýÖÐÓÃÁË×î¼òµ¥µÄechoÀ´Õ¹Ê¾£¬Êµ¼Ê¿ÉÏàÓ¦µ÷Õû)

3.½«ipsetͨ¹ýÔ­×Ó²Ù×÷ÓëiptablesÕýÔÚʹÓõÄipset×÷½»»»£¬ÒÔ×îСµÄ´ú¼Û½«×îеĺÚÃûµ¥ÉúЧ

¼òµ¥µÄÅÀ³æ²ßÂÔ

ÒªÄܾ«È·µÄ·ÖÎöÅÀ³æ£¬ÐèҪǿ´óµÄÊý¾Ý·ÖÎöƽ̨ºÍ¹æÔòÒýÇæ£¬À´·ÖÎöÕâ¸öIP/É豸/Óû§·Ö±ðÔÚ¶Ìʱ¼äÇø¼ä/³¤Ê±¼ä·¶Î§ÀïµÄÐÐÎªÌØÕ÷ºÍ¹ì¼££¬ÕâÀïÉæ¼°µ½Á˷dz£¸´ÔÓµÄÊý¾Ýϵͳ¿ª·¢£¬±¾ÎĽ«Í¨¹ý¼òµ¥µÄshell½Å±¾ÃèÊö±È½Ï¼òµ¥µÄ¹æÔò

Àý×Ó1£¬·â½û×î½ü100000ÌõÖзÃÎÊÁ¿³¬¹ý5000µÄip

nc -ul 9514 | head -100000 | awk -F '" "' '{print $2}'

| sort | uniq -c | sort -nr | awk '$1>=5000 {print $2}'

 

ÕâÀïÃæ£º

1.udp·þÎñ¼àÌýnginx·¢¹ýÀ´µÄsyslogÏûÏ¢£¬²¢È¡10000Ìõ£¬ÕÒµ½ÆäÖÐÿÌõ·ÃÎʼǼµÄip

2.ͨ¹ýsort ºÍuniqÀ´»ñȡÿ¸öip³öÏֵĴÎÊý£¬²¢½øÐнµÐòÅÅÁÐ

3.ÔÙͨ¹ýawkÕÒµ½ÆäÖг¬¹ýãÐÖµµÄip£¬Õâ¾ÍµÃµ½ÁËÎÒÃÇËùÐèÒªµÄ½á¹û¡£

Àý×Ó2£¬·â½û×î½ü100000ÌõÖÐuser agentÃ÷ÏÔÊdzÌÐòµÄip

nc -ul 9514 | head -100000 | awk -F '" "' '$10 ~

/java|feedly|universalfeedparser|apachebench|microsoft

url control|python-urllib|httpclient/ {print $2}' | uniq

 

ÕâÀïÃæ£º

1.ͨ¹ýawkµÄÕýÔòÀ´¹ýÂ˳öÎÊÌâagent£¬²¢½«ÏàÓ¦ipÊä³ö

2.¹ØÓÚagentµÄÕýÔò±í´ïʽÁгöÁ˲¿·Ö£¬¿ÉÒÔ¸ù¾Ýʵ¼ÊÇé¿öÈ¥µ÷ÕûºÍ»ýÀÛ

µ±È»£¬ÕâÀïÖ»ÊÇÁоÙÁ˼òµ¥µÄÀý×Ó£¬ÓкܶàµÄ²»×ãÖ®´¦

1.ÓÉÓÚÖ»²ÉÓÃÁËshell£¬¹æÔò±È½Ï¼òµ¥£¬¿ÉÒÔͨ¹ýÀ©Õ¹awk»òÕ߯äËûÓïÑԵķ½Ê½À´ÊµÏÖ¸ü¸´ÔӵĹæÔò

2.ͳ¼ÆµÄ´°¿ÚÊÇÿ100000Ìõ£¬ÕâÖÖͳ¼Æ´°¿Ú±È½Ï´Ö²Ú£¬ºÃµÄͳ¼Æ·½Ê½ÐèÒªÔÚÿÌõʵʱÊý¾ÝÊÕµ½ÊǶԹýÈ¥µÄһС¶Îʱ¼ä(ÀýÈç5·ÖÖÓ)ÖØÐÂ×öͳ¼Æ¼ÆËã

3.²»¹»ÊµÊ±£¬ÎÞ·¨ÊµÊ±µÄÓ¦¶Ô¹¥»÷ÐÐΪ;Éú²ú»·¾³ÖУ¬ÐèÒªºÁÃë¼¶µÄÏìÓ¦À´Ó¦¶Ô¸ß¼¶ÅÀ³æ

4........

Æ´ÆðÀ´

ËùÓÐÄ£¿é×éºÏÆðÀ´£¬×öÒ»¸öÍêÕûµÄÀý×Ó¡£¼ÙÉ裺

1.¸ºÔؾùºâ192.168.1.1£¬Ê¹ÓÃÁ˹ٷ½nginx£¬²¢ÅäÖÃÁËsyslog·¢Íù192.168.1.2

2.192.168.1.2Æô¶¯nc server£¬Ã¿¸ôÒ»¶Îʱ¼ä½øÐзÖÎö£¬ÕÒ³öÎÊÌâip£¬²¢Í¸ø192.168.1.1

3.192.168.1.1ͨ¹ýiptables½øÐÐ×èÀ¹£¬Êý¾ÝÀ´Ô´ÓÚ192.168.1.2µÄ·ÖÎö»úÆ÷

³ýÁËnginxÅäÖúÍiptables»ù±¾ÅäÖã¬Ç°¼¸¶ÎµÄÅäÖÃÂÔ×÷¸Ä¶¯£º

### nginx conf@192.168.1.1

log_format warden '" "$remote_addr" "$remote_port" "$server_addr"

"$server_port" "$request_length" "$content_length" "$body_bytes_sent"

"$request_uri" "$host" "$http_user_agent" "$status" "$http_cookie"

"$request_method" "$http_referer" "$http_x_forwarded_for" "$request_time"

"$sent_http_set_cookie" "$content_type" "$upstream_http_content_type"

"$request_body"\n';

access_log syslog:server=192.168.1.2:9514 warden ;

### ·ÖÎö@192.168.1.2, Ôö¼ÓÁ˽á¹û»áÍ£¬Í¬Ê±Ã¿¸ô60·ÖÖÓÅÜÒ»´Î£¬°ÑÊý¾Ý·µ»Ø¸ø192.168.1.1

while true ; do nc -ul 9514 | head -100000 | awk -F '" "' '{print $2}'

| sort | uniq -c | sort -nr | awk '$1>=5000 {print $2}' | tr '\n' ','

| awk '{print $0}' | socat - UDP:192.168.1.1:9515 ; sleep 3600 ; done

### ×è¶Ï@192.168.1.1

#»ù´¡ÅäÖÃ

sudo ipset -N --exist warden_blacklist iphash

sudo iptables -A INPUT -m set --set warden_blacklist src -j DROP

sudo service iptables save

#¶¯Ì¬½ÓÊÕ²¢¸üÐÂiptables

while true ; do sudo ipset --exist destroy warden_blacklist_tmp;

sudo ipset -N warden_blacklist_tmp iphash; socat UDP-LISTEN:9515 - |

tr , "\n" | xargs -n 1 -I {} sudo ipset -A warden_blacklist_tmp {} ;

sudo ipset swap warden_blacklist_tmp warden_blacklist ; sudo ipset list ; done

 

ÒÔÉÏÖ»ÊǼòµ¥Ê¾Àý£¬Êµ¼ÊÖл¹Êǽ¨Òé»»³Éshell½Å±¾

×ܽá

±¾ÎÄÁгöÒ»ÖÖ¼òµ¥µÄ·´ÅÀ³æ·½°¸£¬ÓÉÓÚ¹ýÓÚ¼òµ¥£¬¿ÉÒÔµ±×ö¸ÅÄîʾÀý»òÕßÊǾȼ±·½°¸£¬Èç¹ûÐèÒª½øÒ»²½É£¬ÐèÒªÔÚÒÔÏ·½ÃæÈ¥¼ÓÇ¿£º

1.Ç¿»¯Êý¾ÝÔ´£¬¿ÉÒÔͨ¹ýÁ÷Á¿»ñµÃÈ«Á¿Êý¾Ý¡£Ä¿Ç°ÅÀ³æµÈÍøÂç¹¥»÷Öð½¥×ªÏòÒµÎñÃÜÇÐÏà¹ØµÄ²¿·Ö£¬ÍùÇ®µÄ·½Ïò¿¿½ü£¬ËùÒÔÐèÒª¸ü¶àµÄÒµÎñÊý¾ÝÈ¥Ö§³Å£¬¶ø²»½ö½öÊÇ·ÃÎÊÈÕÖ¾

2.¸üÁé»îµÄ×è¶Ï£¬ÐèÒªÓжàÖÖ×è¶ÏÊֶκÍÂÔ¸´ÔÓµÄ×è¶ÏÂß¼­

3.³ýÈ´ip£¬»¹ÐèÒª¿¼²ìÓû§¡¢Éè±¸Ö¸ÎÆµÈ¶àÖÖ×·×Ù·½Ê½£¬Ó¦¶ÔÒÆ¶¯»·¾³ºÍipv6»·¾³Ï£¬¡°IP¡±ÕâÒ»ÐÅÏ¢µÄÁ¦²»´ÓÐÄ

4.Ç¿»¯¹æÔòÒýÇæºÍÄ£ÐÍ£¬ÐèÒª¿¼²ì¸ü¶àÓû§ÐÐΪµÄÌØÕ÷£¬½ö½ö´ÓƵÂʵÈÊÖ¶ÎÖ»µÈÓ¦¶ÔɵÅÀ³æ£¬Í¬Ê±»áÔì³ÉÎóɱÂʸü¸ß

5.½¨Á¢Êý¾Ý´æ´¢¡¢ËÝÔ´¡¢Í³¼ÆÌåϵ£¬·½±ã·ÖÎöÈËԱȥ·ÖÎöÊý¾Ý²¢½¨Á¢ÐµÄÄ£Ðͺ͹æÔò¡£·´ÅÀ³æÊÇÒ»¼þ³ÖÐøÐÔÐÐΪ£¬ÐèÒªÁ¼ºÃµÄƽ̨À´Ö§³Å¡£

6.¿ÉÒÔ¸ù¾Ýʵ¼ÊÐèҪȥ×öºÃ·´ÅÀ³æÏµÍ³µÄ¼¯³É¡£±ÈÈçnginxÊý¾Ý-->·´ÅÀϵͳ-->nginx×è¶Ï;F5Êý¾Ý-->·´ÅÀϵͳ-->F5×è¶Ï

 

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

iOSÓ¦Óð²È«¿ª·¢£¬Äã²»ÖªµÀµÄÄÇЩÊÂÊõ
Web°²È«Ö®SQL×¢Èë¹¥»÷
ÒÆ¶¯APP°²È«ÔÚÉøÍ¸²âÊÔÖеÄÓ¦ÓÃ
´ÓGoogle±¸·Ý»¥ÁªÍø¿´¡°Êý¾Ý°²È«¡±
 
Ïà¹ØÎĵµ

web°²È«Éè¼ÆÓë·À»¤
»¥ÁªÍøº£Á¿ÄÚÈݰ²È«´¦Àí¼¼Êõ
ºÚ¿Í¹¥»÷Óë·À·¶¼¼Êõ
WEBºÚºÐ°²È«¼ì²â
 
Ïà¹Ø¿Î³Ì

WEBÍøÕ¾ÓëÓ¦Óð²È«Ô­ÀíÓëʵ¼ù
webÓ¦Óð²È«¼Ü¹¹Éè¼Æ
´´½¨°²È«µÄJ2EE WebÓ¦ÓôúÂë
ÐÅÏ¢°²È«ÎÊÌâÓë·À·¶
×îл¼Æ»®
DeepSeekÔÚÈí¼þ²âÊÔÓ¦ÓÃʵ¼ù 4-12[ÔÚÏß]
DeepSeek´óÄ£ÐÍÓ¦Óÿª·¢Êµ¼ù 4-19[ÔÚÏß]
UAF¼Ü¹¹ÌåϵÓëʵ¼ù 4-11[±±¾©]
AIÖÇÄÜ»¯Èí¼þ²âÊÔ·½·¨Óëʵ¼ù 5-23[ÉϺ£]
»ùÓÚ UML ºÍEA½øÐзÖÎöÉè¼Æ 4-26[±±¾©]
ÒµÎñ¼Ü¹¹Éè¼ÆÓ뽨ģ 4-18[±±¾©]

iOSÓ¦Óð²È«¿ª·¢
Web°²È«Ö®SQL×¢Èë¹¥»÷
APP°²È«ÔÚÉøÍ¸²âÊÔÖеÄÓ¦ÓÃ
³õ̽PHPµÄSQL×¢Èë¹¥»÷µÄ¼¼Êõ
´ÓGoogle±¸·Ý¿´¡°Êý¾Ý°²È«¡±

WEBÍøÕ¾ÓëÓ¦Óð²È«Ô­ÀíÓëʵ¼ù
webÓ¦Óð²È«¼Ü¹¹Éè¼Æ
´´½¨°²È«µÄJ2EE WebÓ¦ÓôúÂë
×¢²áÐÅÏ¢°²È«×¨ÒµÈËÔ±(CISP)
ÐÅÏ¢°²È«¹ÜÀí
ÐÅÏ¢°²È«ÎÊÌâÓë·À·¶

ÖйúÒøÐÐ ÐÅÏ¢°²È«¼¼Êõ¼°Éî¶È·ÀÓù
WebÓ¦Óð²È«¼Ü¹¹¡¢ÈëÇÖ¼ì²âÓë·À»¤
ij²ÆË°ÁìÓòÖªÃûIT·þÎñÉÌ Web°²È«²âÊÔ
ÆÕÈð¿Ë˹ web°²È«Éè¼Æ¡¢²âÊÔÓëÓÅ»¯
±±¾©ºÍÀûʱ ÐÔÄܺͰ²È«ÐÔ²âÊÔ
SUNÖйú¹¤³ÌÑо¿Ôº JSF¿ò¼Ü¡¢°²È«