PHP°²È«Ä£Ê½(safe mode)µÄ×÷ÓÃ,DZÔÚµÄΣÏÕÒòËØ
phpÎðÓ¹ÖÃÒÉÊǷdz£Ç¿´óµÄ·þÎñÆ÷¶Ë½Å±¾ÓïÑÔ£¬µ«ÊÇÇ¿´óµÄ¹¦ÄÜ×ÜÊÇ°éËæ×ÅÖØ´óµÄΣÏÕ£¬ÔÚÕâÀÄ㽫ѧϰµ½Ê¹ÓÃphpµÄ°²È«Ä£Ê½À´×èֹһЩphpDZÔÚµÄΣÏÕÒòËØ¡£
¡¾ °²È«Ä£Ê½ ¡¿
phpµÄ°²È«Ä£Ê½Ìṩһ¸ö»ù±¾°²È«µÄ¹²Ïí»·¾³£¬ÔÚÒ»¸öÓжà¸öÓû§ÕÊ»§´æÔÚµÄphp¿ª·ÅµÄweb·þÎñÆ÷ÉÏ¡£µ±Ò»¸öweb·þÎñÆ÷ÉÏÔËÐеÄphp´ò¿ªÁË°²È«Ä£Ê½£¬ÄÇôһЩº¯Êý½«±»ÍêÈ«µÄ½ûÖ¹£¬²¢ÇÒ»áÏÞÖÆһЩ¿ÉÓõŦÄÜ¡£
[ ʹÓð²È«Ä£Ê½À´Ç¿ÖÆÏÞÖÆ ]
ÔÚ°²È«Ä£Ê½Ï£¬Ò»Ð©³¢ÊÔ·ÃÎÊÎļþϵͳµÄº¯Êý¹¦Äܽ«±»ÏÞÖÆ¡£ÔËÐÐweb·þÎñÆ÷Óû§id£¬Èç¹ûÏëÒª²Ù×÷ij¸öÎļþ£¬Ôò±ØÐëÓµÓиÃÎļþ¶ÁÈ¡»òÕßдÈëµÄ·ÃÎÊȨÏÞ£¬ÊµÏÖÕâ¸öÏÞÖƹ¦ÄܶÔÓÚphpÀ´ËµÊÇûÓÐÎÊÌâµÄ¡£
ÔÚ°²È«Ä£Ê½¿ªÆôµÄʱºò£¬³¢ÊÔ¶ÁÈ¡»òÕßдÈëÒ»¸ö±¾µØÎļþµÄʱºò£¬php½«¼ì²éµ±Ç°·ÃÎÊÓû§ÊÇ·ñ ÊǸÃÄ¿±êÎļþµÄËùÓÐÕß¡£Èç¹û²»ÊÇËùÓÐÕߣ¬Ôò¸Ã²Ù×÷»á±»½ûÖ¹¡£(дÈëȨÏÞ£ºÔڽϵͼ¶±ðµÄÎļþ·ÃÎÊȨÏÞÏ£¬¿ÉÄÜ»áÔÊÐí¶ÁÈ¡»òÕßдÈëϵͳ²Ù×÷ϵͳµÄÎļþ£¬Í¨¹ý phpµÄ°²È«Ä£Ê½ÊµÏÖÁË·ÀÖ¹Äã²Ù×÷ÁíÍâÒ»¸öÓû§ÎļþµÄ²Ù×÷¡£µ±È»£¬Ò»¸öweb·þÎñÆ÷¿ÉÄÜÄܹ»·ÃÎÊÒ»¸ö¾ßÓÐÈ«¾ÖдÈëȨÏÞµÄÈÎÒâÎļþ¡£)
µ±°²È«Ä£Ê½´ò¿ªµÄʱºò£¬ÒÔϺ¯ÊýÁбíµÄ¹¦Äܽ«»áÊܵ½ÏÞÖÆ£º
chdir , move_uploaded_file, chgrp,
parse_ini_file, chown, rmdir, copy, rename, fopen, require,
highlight_file, show_source, include, symlink, link, touch,
mkdir, unlink
ͬÑùµÄ£¬Ò»Ð©phpÀ©Õ¹Öеĺ¯ÊýÒ²½«»áÊܵ½Ó°Ïì¡£(¼ÓÔØÄ£¿é£ºÔÚ°²È«Ä£Ê½ÏÂdlº¯Êý½«±»½ûÖ¹£¬Èç¹ûÒª¼ÓÔØÀ©Õ¹µÄ»°£¬Ö»ÄÜÐÞ¸Äphp.iniÖеÄÀ©Õ¹Ñ¡ÏÔÚphpÆô¶¯µÄʱºò¼ÓÔØ)
ÔÚphp°²È«Ä£Ê½´ò¿ªµÄʱºò£¬ÐèÒªÖ´ÐвÙ×÷ϵͳ³ÌÐòµÄʱºò£¬±ØÐëÊÇÔÚsafe_mode_exec_dirÑ¡ÏîÖ¸¶¨Ä¿Â¼µÄ³ÌÐò£¬·ñÔòÖ´Ðн«Ê§°Ü¡£¼´Ê¹ÔÊÐíÖ´ÐУ¬ÄÇôҲ»á×Ô¶¯µÄ´«µÝ¸øescapeshellcmdº¯Êý½øÐйýÂË¡£
ÒÔÏÂÖ´ÐÐÃüÁîµÄº¯ÊýÁÐ±í½«»áÊܵ½Ó°Ï죺
exec, shell_exec, passthru, system, popen
ÁíÍ⣬±³²¿±ê¼Ç²Ù×÷·û(`)Ò²½«±»¹Ø±Õ¡£
µ±ÔËÐÐÔÚ°²È«Ä£Ê½Ï£¬ËäÈ»²»»áÒýÆð´íÎ󣬵«ÊÇ putenv º¯Êý½«ÎÞЧ¡£Í¬ÑùµÄ£¬ÆäËûһЩ³¢ÊԸıäphp»·¾³±äÁ¿µÄº¯Êýset_time_limit, set_include_path Ò²½«±»ºöÂÔ¡£
[ ´ò¿ª°²È«Ä£Ê½ ]
´ò¿ª»òÕ߹رÕphpµÄ°²È«Ä£Ê½ÊÇÀûÓÃphp.iniÖеÄsafe_modeÑ¡Ïî¡£Èç¹ûÒª¼¤»î°²È«Ä£Ê½¸øµ±Ç°ËùÓй²Ïíweb·þÎñÆ÷µÄÓû§£¬Ö»ÒªÉèÖÃÅäÖÃÑ¡ÏîΪ£º
safe_mode = on
µ±º¯ÊýÔÚ·ÃÎÊÎļþϵͳµÄʱºò½«½øÐÐÎļþËùÓÐÕߵļì²é¡£È±Ê¡Çé¿öÏ£¬»á¼ì²é¸ÃÎļþËùÓÐÕßµÄÓû§id£¬µ±ÄãÄܹ»ÐÞ¸ÄÎļþËùÓÐÕßµÄ×éid(gid)Ϊ safe_mode_gid Ñ¡ÏîËùÖ¸¶¨µÄ¡£
Èç¹ûÄãÓÐÒ»¸ö¹²Ïí¿âÎļþÔÚÄãµÄϵͳÉÏ£¬µ±ÄãÅöµ½ÐèÒªinclude»òrequireµÄʱºò£¬ ÄÇôÄã¿ÉÒÔʹÓà safe_mode_include_dir Ñ¡ÏîÀ´ÉèÖÃÄãµÄ·¾¶£¬±£Ö¤ÄãµÄ´úÂëÕý³£¹¤×÷¡£(°üº¬Â·¾¶£º Èç¹ûÄãÏëҪʹÓà safe_mode_include_dir Ñ¡Ïî°üº¬¸ü¶àµÄ°üº¬Â·¾¶£¬ÄÇôÄã¿ÉÒÔÏó include_path Ñ¡ÏîÒ»Ñù£¬ÔÚunix/linuxϵͳÏÂʹÓÃðºÅ½øÐзָÔÚwindowsÏÂʹÓ÷ֺŽøÐзָî)
±ÈÈçÄãÏëÒªÔÚ°²È«Ä£Ê½Ï°üº¬ /usr/local/include/php ϵÄÎļþ£¬ÄÇôÄã¿ÉÒÔÉèÖÃÑ¡ÏîΪ£º
safe_mode_include_dir = /usr/local/include/php
Èç¹ûÄãµÄ°üº¬µÄÎļþÊÇÐèÒªÖ´Ðеģ¬ÄÇôÄã¿ÉÒÔÉèÖà safe_mode_exec_dir Ñ¡Ïî¡£±ÈÈçÄãÐèÒª /usr/local/php-bin ·¾¶ÏµÄÎļþÊÇ¿ÉÒÔÖ´Ðеģ¬ÄÇô¿ÉÒÔÉèÖÃÑ¡ÏîΪ£º
safe_mode_exec_dir = /usr/local/php-bin
(¿ÉÖ´ÐУºÈç¹ûÄãÖ´ÐеijÌÐòÔÚ /usr/bin Ŀ¼Ï£¬ÄÇôÄã¿ÉÒÔ°ÑÕâЩµÄ¶þ½øÖÆÎļþ£¬Á¬½Óµ½ÄãÖ¸¶¨Ñ¡ÏîÏÂÄܹ»Ö´ÐеÄ·¾¶)
Èç¹ûÄãÏëÉèÖÃijЩ»·¾³±äÁ¿£¬ÄÇô¿ÉÒÔʹÓà safe_mode_allowed_env_vars Ñ¡Ïî¡£Õâ¸öÑ¡ÏîµÄÖµÊÇÒ»¸ö»·¾³±äÁ¿µÄǰ׺£¬È±Ê¡ÊÇÔÊÐí php_ ¿ªÍ·µÄ»·¾³±äÁ¿£¬Èç¹ûÄãÏëÒª¸Ä±ä£¬¿ÉÒÔÉèÖøÃÑ¡ÏîµÄÖµ£¬¶à¸ö»·¾³±äÁ¿Ç°×ºÖ®¼äʹÓöººÅ½øÐзָ
±ÈÈçÏÂÃæÔÊÐíʱÇøµÄ»·¾³±äÁ¿ tz £¬ÄÇôÐ޸ĸÃÑ¡ÏîµÄֵΪ£º
safe_mode_allowed_env_vars = php_,tz
¡¾ ÆäËûµÄ°²È«ÌØÕ÷ ¡¿
³ýÁË°²È«Ä£Ê½ÒÔÍ⣬php»¹ÌṩÁËÐí¶àÆäËûÐí¶àÌØÕ÷À´±£Ö¤phpµÄ°²È«¡£
[ Òþ²Øphp ]
ÄãÄܹ»ÔÚphp.iniÀïʹÓà expose_php Ñ¡ÏîÀ´·ÀÖ¹web·þÎñÆ÷й¶phpµÄ±¨¸æÐÅÏ¢¡£ÈçÏ£º
expose_php = on
ÀûÓÃÕû¸öÉèÖã¬ÄãÄܹ»×è°Ò»Ð©À´×Ô×Ô¶¯½Å±¾Õë¶Ôweb·þÎñÆ÷µÄ¹¥»÷¡£Í¨³£Çé¿öÏ£¬httpµÄÍ·ÐÅÏ¢ÀïÃæ°üº¬ÁËÈçÏÂÐÅÏ¢£º
server: apache/1.3.33 (unix) php/5.0.3 mod_ssl/2.8.16
openssl/0.9.7c
ÔÚ expose_php Ñ¡Ïî´ò¿ªÒÔºó£¬phpµÄ°æ±¾ÐÅÏ¢½«²»°üº¬ÔÚÉÏÃæµÄÍ·ÐÅÏ¢Àï¡£
µ±È»£¬Óû§·ÃÎÊÍøÕ¾µÄʱºòͬÑùÄܹ»¿´µ½ .php µÄÎļþÀ©Õ¹Ãû¡£Èç¹ûÄãÏëÕû¸öµÄʹÓò»Í¬µÄÎļþÀ©Õ¹Ãû£¬ÄãÐèÒªÔÚ httpd.conf ÖÐÕÒµ½ÈçÏÂÕâÐУº
addtype application/x-httpd .php
Äã¾Í¿ÉÒÔÐÞ¸Ä .php ΪÈκÎÄãϲ»¶µÄÎļþÀ©Õ¹Ãû¡£ÄãÄܹ»Ö¸¶¨ÈÎÒâ¶à¸öµÄÎļþÀ©Õ¹Ãû£¬ÖмäʹÓÿոñ½øÐзָÈç¹ûÄãÏëÔÚ·þÎñÆ÷¶ËʹÓÃphpÀ´½âÎö .html ºÍ .htm ÎļþµÄʱºò£¬ÄÇôÄãÉèÖÃÑ¡ÏîÈçÏ£º
addtype application/x-httpd .html .htm
(½âÎöhtml£ºÅäÖÃÄãµÄweb·þÎñÆ÷ʹÓÃphpÈ¥½âÎöËùÓеÄhtmlÎļþ£¬µ«ÊÇÈç¹û·Ç·þÎñÆ÷¶Ë´úÂëÒ²ÐèÒªphpÈ¥½âÎö£¬»áÓ°Ïì·þÎñÆ÷µÄÐÔÄÜ¡£¾²Ì¬Ò³ÃæÄã¿ÉÒÔʹÓò»Í¬µÄÀ©Õ¹Ãû£¬ÕâÑùÄܹ»Ïû³ý¶Ôphp½Å±¾ÒýÇæµÄÒÀÀµ£¬ÔöÇ¿ÐÔÄÜ¡£)
[ Îļþϵͳ°²È« ]
°²È«Ä£Ê½ÏÞÖÆÁ˽ű¾ËùÓÐÕßÖ»ÄÜ·ÃÎÊÊôÓÚ×Ô¼ºµÄÎļþ£¬µ«ÊÇÄã¿ÉÒÔʹÓà open_basedir Ñ¡ÏÖÀ´Ö¸¶¨Ò»¸öÄã±ØÐë·ÃÎʵÄĿ¼¡£Èç¹ûÄãÖ¸¶¨ÁËÒ»¸öĿ¼£¬php½«¾Ü¾ø·ÃÎʳýÁ˸ÃĿ¼ºÍ¸ÃĿ¼×ÓĿ¼µÄÆäËûĿ¼¡£open_basedir Ñ¡ÏîÄܹ»¹¤×÷ÔÚ°²È«Ä£Ê½Ö®Íâ¡£
ÏÞÖÆÎļþϵͳֻÄÜ·ÃÎÊ /tmp Ŀ¼£¬ÄÇôÉèÖÃÑ¡ÏîΪ£º
open_basedir = /tmp
[ º¯Êý·ÃÎÊ¿ØÖÆ ]
ÄãÄܹ»ÔÚ disable_functions Ñ¡ÏîÖÐʹÓöººÅ·Ö¸îÀ´É趨º¯ÊýÃû£¬ÄÇôÕâЩº¯Êý½«ÔÚphp½Å±¾Öб»¹Ø±Õ¡£Õâ¸öÉèÖÃÄܹ»¹¤×÷ÔÚ°²È«Ä£Ê½Ö®Íâ¡£
disable_functions = dl
µ±È»£¬Í¬ÑùµÄÄãÄܹ»Ê¹Óà disable_classes Ñ¡ÏîÀ´¹Ø±Õ¶ÔһЩÀàµÄ·ÃÎÊ¡£
[ Êý¾Ý¿â°²È« ]
¼ÙÉèÄãµÄphp½Å±¾Öаüº¬Ò»¸ö»ùÓÚ±íµ¥ÖµÀ´Ö´ÐеÄmysql²éѯ£º
$sql = "update mytable set col1 = " . $_post["value"] . "
where col2 = 'somevalue'";
$res = mysql_query($sql, $db);
ÄãÏ£Íû $_post["value"] °üº¬Ò»¸öÕûÊýÖµÀ´¸üÐÂÄãµÄÁÐ col1¡£¿ÉÊÇ£¬Ò»¸ö¶ñÒâÓû§Äܹ»ÊäÈëÒ»¸ö·ÖºÅÔÚ±íµ¥×Ö¶ÎÀ½Ó×Å£¬ÊÇÒ»¶ÎËû/ËýÏë±»ÈÎÒâÖ´ÐеÄsqlÓï¾ä¡£
¾ÙÀý£¬¼ÙÉèÏÂÃæÊÇ $_post["value"] Ìá½»µÄÖµ£º
0; insert into admin_users (username, password)
values ('me', 'mypassword');
ÄÇôµ±Õâ¸ö²éѯ·¢Ë͸ømysql²éѯµÄʱºò£¬ÄÇô¾Í±ä³ÉÁËÏÂÃæÕâÌõsql£º
update mytable set col1 = 0;
insert into admin_users (username, password)
values ('me', 'mypassword');
where col2 = 'somevalue';
ÕâÃ÷ÏÔÊÇÒ»¸öÓк¦µÄ²éѯ£¡Ê×ÏÈÕâ¸ö²éѯ»áÔÚ mytable ±íÀï¸üРcol1¡£Õâ¸ö²¢Ã»ÓÐʲôÂé·³µÄ£¬µ«Êǵڶþ¸ö±í´ïʽ£¬Ëü½«Ö´ÐÐ insert ±í´ïʽÀ´²åÈëÒ»¸öÄܵǽµÄйÜÀíÔ±¡£µÚÈý¸ö±í´ïʽ¾Í·ÏÆúÁË£¬µ«Í¬Ê±sql½âÎöÆ÷½«Å׳öÒ»¸ö´íÎó£¬Õâ¸öÓк¦µÄ²éѯ²ÅÍê³É¡£Õâ¸ö¹¥»÷¾ÍÊÇ´ó¼Ò³£ËµµÄ sql injection£¨×¢£ºsql×¢È룩¡£
µ±È»£¬sql injection ´æÔÚÒ»¸öÎÊÌ⣬¶Ô·½±ØÐëÁ˽âÄãµÄÊý¾Ý¿â½á¹¹¡£ÔÚÕâ¸öÀý×ÓÖУ¬¹¥»÷ÕßÊÇÖªµÀÄãÓÐÒ»¸ö±í admin_users£¬²¢ÇÒÖªµÀ°üº¬ username ºÍ password×ֶΣ¬Í¬Ê±£¬´æ´¢µÄÃÜÂëÊÇûÓмÓÃܵġ£
³ýÁËÄã×Ô¼º£¬Ò»°ãµÄÍøÕ¾·ÃÎÊÕßÊDz»ÖªµÀÕâЩ¹ØÓÚÊý¾Ý¿âµÄÐÅÏ¢¡£¿ÉÊÇ£¬Èç¹ûÄãʹÓÃÁËÒ»¸ö¿ª·¢Ô´´úÂëµÄÔÚÏßµç×ÓÉÌÎñ³ÌÐò£¬»òÕßʹÓÃÒ»¸ö×ÔÓɵÄÌÖÂÛ°æ³ÌÐò£¬ÕâЩÊý¾Ý±íµÄ¶¨Ò嶼ÊÇÒÑÖªµÄ£¬»òÕßÓÐһЩÓû§Äܹ»·ÃÎʵ½ÄãµÄÊý¾Ý¿â¡£
´ËÍ⣬ÄãµÄ½Å±¾Êä³ö»áÌáʾһ¸ö²éѯ´íÎó£¬ÕâЩÐÅÏ¢Àï°üº¬Á˺ܶà¹ØÓÚÊý¾Ý¿â½á¹¹µÄÖØÒªÐÅÏ¢¡£ÔÚ Ò»¸öÕý³£¹¤×÷µÄÍøÕ¾ÉÏ£¬ÄãÓ¦¸Ã¿¼ÂÇÉèÖà display_errors Ñ¡ÏîΪ off£¬²¢ÇÒʹÓà log_errors À´´úÌæ display_errors £¬°Ñ¾¯¸æºÍ´íÎóÐÅÏ¢²åÈëµ½ÎļþÖС£
(Êý¾Ý¿âȨÏÞ£ºËüÊÇÒ»¸ö·Ç³£ÖØÒªµÄ¶«Î÷£¬ÄãÖ»ÓÐÕýÈ·µÄȨÏÞ£¬²ÅÄÜͨ¹ý½Å±¾ÕýÈ·µÄÁ¬½ÓÊý¾Ý¿â¡£ ÄãÓ¦¸Ã²»ÒªÔڽű¾ÖÐʹÓùÜÀíԱȥÁ¬½ÓÊý¾Ý¿â¡£Èç¹ûÄãÕâô×ö£¬ÄÇôһ¸ö¹¥»÷Õß½«¿ÉÄÜ»ñÈ¡È«²¿µÄÊý¾Ý¿âȨÏÞ£¬²¢ÇÒ°üÀ¨ÆäËûÏàͬ·þÎñÆ÷µÄȨÏÞ¡£¹¥»÷Õß½«¿ÉÄÜÔËÐÐ grant »ò create user ÃüÁîÀ´»ñÈ¡¸ü¶àµÄ·ÃÎÊȨÏÞ¡£ )
Èç¹ûÄãÒª·ÀÖ¹ sql injection ¹¥»÷£¬Äã±ØÐë±£Ö¤Óû§±íµ¥ÀïÌá½»µÄÄÚÈݲ»ÊÇÒ»¸öÄܹ»Ö´ÐеÄsql±í´ïʽ¡£
Ç°Ò»¸öÀý×ÓÖУ¬ÎÒÃÇʹÓÃÒ»¸öÕûÐÍÖµÀ´½øÐиüС£Èç¹ûÔÚµ¥ÒýºÅºóÃæ¸úÉÏÒ»¸ö×Ö·û´®£¬Õâ¸ö¹¥»÷ÕßÔÚ·ÖºÅ֮ǰ±ØÐëÌá½»Ò»¸ö±ÕºÏµÄÒýÓÃÔÚÕû¸ösql±í´ïʽÖС£¿ÉÊÇ£¬µ± magic_quotes_gpc Ñ¡ÏîÊÇ¿ªÆôµÄʱºò£¬ÔÚweb±íµ¥ÖÐÌá½»µÄÒýºÅ½«×Ô¶¯±»×ªÒå¡£
ΪÁË·ÀÖ¹±»¶ñÒâµÄ¹¥»÷Õß½øÐÐ sql injection¹¥»÷£¬ÄãÓ¦¸Ã×ÜÊÇÈ·ÈÏÌá½»µÄÊý¾ÝÊǺϷ¨µÄ¡£Èç¹ûÄãÐèÒªµÄÊÇÒ»¸öÕûÊýÖµ£¬ÄÇôÄã¿ÉÒÔʹÓà is_numeric º¯ÊýÀ´²âÊÔÕâ¸ö±í´ïÖµ£¬»òÕßʹÓà settype º¯ÊýÀ´×ª»»ÎªÒ»¸öÊý×Ö£¬Çå³ýÈκÎÒ»¸öɵɵµÄsqlÓï¾ä¡£
Èç¹ûÄ㿪·¢µÄ³ÌÐòÐèÒª¼¸¸öÌá½»µÄÖµÔÚÒ»¸ösql±í´ïʽÀÄãÄܹ»Ê¹Óà sprintf º¯ÊýÀ´¹¹½¨Ò»¸ösql×Ö·û´®£¬Ê¹Óøñʽ»¯×Ö·ûÀ´Ö¸Ê¾Êý¾ÝÀàÐ͵Äÿ¸öÖµ¡£¿´ÏÂÃæµÄÀý×Ó£º
$sql = sprintf("update mytable set col1 = %d
where col2 = '%s'",
$_post["number"],
mysql_escape_string($_post["string"]));
ÔÚÉÏÒ»¸öÀý×ÓÖУ¬Õû¸ömysqlµÄÊý¾ÝÒѾ±»Ê¹Óã¬ËùÒÔÕâ¸ö×Ö·û´®ÒѾͨ¹ý mysql_escape_string º¯Êý½øÐйýÂË¡£¶ÔÓÚÆäËûÊý¾Ý¿â£¬Äã¿ÉÒÔʹÓà addslashes º¯Êý½øÐÐתÒ壬»òÕßʹÓÃÆäËû·½·¨¡£
ÍƼöÐÅÏ¢
- ¡¾ÊÓƵ²¥·Å¡¿JplayerÊÓƵ²¥·ÅÆ÷µÄʹÓÃ
- memcacheÄÚ´æÔÀí
- Memcache¼¼Êõ·ÖÏí£º½éÉÜ¡¢Ê¹Óᢴ洢¡¢Ëã·¨¡¢ÓÅ»¯....
- php³£ÓÃÕýÔò±í´ïʽ
- phpÐÔÄܼà²âÄ£¿éXHProf
- ÈÃCI¿ò¼ÜÖ§³Öservice²ã
- ʹÓÃPHPÉú³É´øLOGOµÄ¸öÐÔ»¯¶þάÂëͼÏñ
- ¹ØÓÚCodeIgniterÄã¿ÉÄܲ»ÖªµÀµÄ5¸ö֪ʶµã
- Memcache ºÁÃ뼶³¬Ê±¼°ÆäËû³£¼ûÎÊÌâ»ã×Ü
- [PHP±Ê¼Ç]PHPQueryÒ»¸ö´¦ÀíDOMµÄÀûÆ÷
ÈÈÃÅÐÅÏ¢
- nohup: redirecting stderr to stdou....
- ʹÓÃlog_formatΪNginx·þÎñÆ÷ÉèÖøüÏêϸµÄÈÕÖ¾¸ñʽ
- jquery easyUI--dataGrid-Json
- [Ô´´]·ÂGoogle Reader¡¢ÐÂÀË΢²©¡¢ÌÚѶ΢²©µ....
- ÀûÓÃKeepalived+mysql¹¹½¨¸ß¿ÉÓÃMySQLË«Ö÷×Ô¶....
- Nginx+keepalivedʵÏÖ¸ºÔؾùºâºÍË«»úÈȱ¸¸ß¿ÉÓÃ
- jqueryʵÏÖÒ³Ãæ¼ÓÔؽø¶ÈÌõ
- Rolling cURL: PHP²¢·¢×î¼Ñʵ¼ù
- codeigniter ·ÓÉÖÕ¼«ÓÅ»¯(url rewrite)
- linuxÏÂÉèÖÃsshÎÞÃÜÂëµÇ¼
×î½ü¸üÐÂ
- PHP»ñÈ¡Óû§µÄÕæʵIP£¬²¢ÅжÏÊÇ·ñÄÚÍøIP
- PHP ´íÎóÈÕÖ¾ error_log
- ÀûÓÃbigpipe»úÖÆʵÏÖÒ³ÃæÄ£¿éµÄÒì²½äÖȾ chunked¼¼Êõ
- php¿ØÖÆÎļþÏÂÔØËÙ¶È
- js + php ¶ÁÈ¡¡¢²¥·ÅÊÓƵÁ÷ ¼æÈÝfirefox£¬c....
- ¡¾ÊÓƵ²¥·Å¡¿JplayerÊÓƵ²¥·ÅÆ÷µÄʹÓÃ
- UNICODE Óë UTF-8 µÄ¹Øϵ
- memcacheÄÚ´æÔÀí
- Memcache¼¼Êõ·ÖÏí£º½éÉÜ¡¢Ê¹Óᢴ洢¡¢Ëã·¨¡¢ÓÅ»¯....
- phpʹÓÃmb_detect_encoding¼ì²â×Ö·û´®±àÂë
ÆÀÂÛ