ÈçºÎÔÚphpÖÐÐÞ²¹XSS©¶´
ÔÚPHPÖÐÐÞ²¹XSS©¶´£¬ÎÒÃÇ¿ÉÒÔʹÓÃÈý¸öPHPº¯Êý¡£
¡¡¡¡ÕâЩº¯ÊýÖ÷ÒªÓÃÓÚÇå³ýHTML±êÖ¾£¬ÕâÑù¾Íû°ì·¨×¢Èë´úÂëÁË¡£Ê¹Óøü¶àµÄº¯ÊýÊÇhtmlspecialchars() £¬Ëü¿ÉÒÔ½«ËùÓеÄ"<"Óë">"·ûºÅת»»³É"<" Óë">;"¡£ÆäËü¿É¹©Ñ¡ÔñµÄº¯Êý»¹ÓÐhtmlentities(), Ëü¿ÉÒÔÓÃÏàÓ¦µÄ×Ö·ûʵÌå(entities)Ìæ»»µôËùÓÐÏëÒªÌæ»»µôµÄÌØÕ÷Âë(characters)¡£
¡¡¡¡PHP Code:
¡¡¡¡// ÕâÀïµÄ´úÂëÖ÷ÒªÓÃÓÚչʾÕâÁ½¸öº¯ÊýÖ®¼äÊä³öµÄ²»Í¬
¡¡¡¡$input = '';
¡¡¡¡echo htmlspecialchars($input) . '
¡¡¡¡';
¡¡¡¡echo htmlentities($input);
¡¡¡¡?>
¡¡¡¡htmlentities()µÄÁíÒ»¸öÀý×Ó
¡¡¡¡PHP Code:
¡¡¡¡$str = "A 'quote' is bold";
¡¡¡¡echo htmlentities($str);
¡¡¡¡echo htmlentities($str, ENT_QUOTES);
¡¡¡¡?>
¡¡¡¡µÚÒ»¸öÏÔʾ£º A 'quote' is bold
¡¡¡¡µÚ¶þ¸öÏÔʾ£ºA 'quote' is bold
¡¡¡¡htmlspecialchars()ʹÓÃʵÀý
¡¡¡¡PHP Code:
¡¡¡¡$new = htmlspecialchars("Test", ENT_QUOTES);
¡¡¡¡echo $new;
¡¡¡¡?>
¡¡¡¡ÏÔʾ£º Test
¡¡¡¡strip_tags()º¯Êý´úÌæ.ɾ³ýËùÓеÄHTMLÔªËØ(elements)£¬³ýÁËÐèÒªÌØ±ðÔÊÐíµÄÔªËØÖ®Í⣬È磺, »ò
¡¡¡¡.
¡¡¡¡strip_tags()ʹÓÃʵÀý
¡¡¡¡PHP Code:
¡¡¡¡$text = '
¡¡¡¡Test paragraph.
¡¡¡¡Other text';
¡¡¡¡echo strip_tags($text);
¡¡¡¡echo "\n";
¡¡¡¡// allow
¡¡¡¡echo strip_tags($text, '
¡¡¡¡');
¡¡¡¡?>
¡¡¡¡ÏÖÔÚÎÒÃÇÖÁÉÙÒѾ֪µÀÓÐÕâЩº¯ÊýÁË£¬µ±ÎÒÃÇ·¢ÏÖÎÒÃǵÄÕ¾µã´æÔÚXSS©¶´Ê±¾Í¿ÉÒÔʹÓÃÕâЩ´úÂëÁË¡£ÎÒ×î½üÔÚÎÒµÄÕ¾µãÉϵÄGoogleBig(Ò»¸öMybbÂÛ̳µÄ²å¼þ)ÊÓÆµ²¿·Ö·¢ÏÖÁËÒ»¸öXSS©¶´£¬Òò´ËÎÒ¾ÍÔÚÏëÈçºÎʹÓÃÕâЩº¯Êýд¶Î´úÂëÀ´ÐÞ²¹Õâ¸öËÑË÷©¶´¡£
¡¡¡¡Ê×ÏÈÎÒ·¢ÏÖÎÊÌâ³öÔÚsearch.phpÕâÒ»ÎļþÉÏ£¬ÏÖÔÚÈÃÎÒÃÇ¿´¿´Õâ¸ö²éѯ¼°Êä³ö²éѯ½á¹ûÖеIJ¿·Ö´úÂëÑо¿Ò»Ï£º
¡¡¡¡PHP Code:
¡¡¡¡function search($query, $page)
¡¡¡¡{
¡¡¡¡global $db, $bgcolor2, $bgcolor4, $sitename, $io_db, $module_url, $list_page_items, $hm_index;
¡¡¡¡$option = trim($option);
¡¡¡¡$query = trim($query);
¡¡¡¡$query = FixQuotes(nl2br(filter_text($query)));
¡¡¡¡$db->escape_string($query);
¡¡¡¡$db->escape_string($option);
¡¡¡¡alpha_search($query);
¡¡¡¡...
¡¡¡¡ÔÚÕâÖÖÇé¿öÏ£¬ÎÒÃÇͨ¹ýʹÓÃ$queryÕâÒ»Öµ×÷Ϊ±äÁ¿£¬È»ºóʹÓÃhtmlentities()ÕâÒ»º¯Êý£º
¡¡¡¡PHP Code:
¡¡¡¡$query = FixQuote
Ïà¹ØÎĵµ£º
×î½üÓÃwin7ÁË£¬ÅªÁ˸ö¼¤»îÂ룬Ҳ²»ÖªµÀÄÜÓõ½Ê²Ã´Ê±ºò£¬ÐÄÀï¶àÉÙÊÇÓеãÓÇÂǵģ¬Ã»¸öµ×£¬¹ÜËûµÄÄØ£¬ÏÖÔÚÄÜÓþÍÏÈÓÃ×Å£¬ÒÔÇ°Ò²Ã»ÍæÔõô¹ýVista£¬²»¹ý¸Ð¾õwin7½çÃæÉÏ»¹ÊÇÓеãÏñVistaµÄ£¬ÓÐЩ¹¦ÄÜÉÏÒ²²î²»¶à£¬²»¹ý¸Ð¾õÓÃÕâ¸öwin7»¹Õæ²»´í£¬ÎÒÒ²Ö»ÊÇÏà¶ÔXPµÄ¸Ð¾õ£¬µ±È»ÁË£¬win7µÄÓ²Å̿ռ䵹ÊÇÕ¼ÓÃÁ˲»ÀÏÉÙÎÒ19GµÄCÅÌ×°Íêºó¾Í»¹Ê£ ......
ÕýºÃ¹¤×÷ÖÐÅäµ½´ËÀàÎÊÌ⣬д³öÀ´ºÍ´ó¼Ò·ÖÏí¡£ºÜ¶àÍøÓÑÌṩÁËʹÓÃurlencode ºÍ urldecodeµÄ·½Ê½È¥±àÂëºÍ½âÂ룬˵µÄ²»È«Ãæ¡£ÓеÄʱºòÒ²»áÅöµ½ÕâÑùµÄÎÊÌâ¡£
1.Ê×ÏÈÒª¼ì²éÄãapacheºÍphpµÄ·þÎñÆ÷ĬÈÏÓïÑÔ¡£ÔÚwindowÏ£¬¿ÉÒԲο¼apacheµÄÅäÖÃÎļþhttpd.conf¡£ ÔÚAddCharset¸½½üÔÚ¼ÓÉÏÏÂÃæµÄÃüÁîÐУº
AddDefaultCharset UTF-8
......
< type="text/javascript">
smarty ¿ÉÒÔÉú³É£¬
ÆäʵÉú³ÉµÄÔÀíºÜ¼òµ¥
1¡¢»ñÈ¡Äã¶¯Ì¬Ò³ÃæµÃÄÚÈÝ
2¡¢Ð´È뾲̬Îļþ
±ÈÈ磺
<?
//»ñÈ¡ÎļþÄÚÈÝ
$content=file_get_contents(http://www.www.com/viewPage.php?id=$id
);
//¼ì²éÊÇ·ñ´æÔÚ¾ÉÎļþ£¬ÓÐÔòɾ³ý
i ......
ϵͳÉè¼Æ´ÓÒ»¿ªÊ¼¾ÍÓ¦¸Ã¿¼ÂDz»Í¬Æ½Ì¨µÄ¼æÈÝÐÔÎÊÌ⣬×î³£¼ûÒ»¸öÎÊÌâ¾ÍÊÇLinux/uniuxÓëWinµÄһЩ²»Í¬£¬±ÈÈç˵Îļþ·¾¶·Ö¸ô·û¡¢¶à¸ö·¾¢·Ö¸ô·ûµÈµÈ¡£PHP±¾ÉíÄÚÖÃÁ˺ܶೣÁ¿£¬ÔÚ·½±ãµÄ±àд´úÂëͬʱҲºÜºÃµÄ´¦ÀíºÃÁ˲»Í¬Æ½Ì¨ÏµÄһЩ¼æÈÝÐÔÎÊÌâ¡£±ÈÈç×î³£Óõģº
DIRECTORY_SEPARATOR ·¾¶·Ö¸ô·û£¬WinÏÂÊÇ"\"¶ ......