±àд°²È« PHP Ó¦ÓóÌÐòµÄÆß¸öϰ¹ß
ÔÚÌá¼°°²È«ÐÔÎÊÌâʱ£¬ÐèҪעÒ⣬³ýÁËʵ¼ÊµÄƽ̨ºÍ²Ù×÷ϵͳ°²È«ÐÔÎÊÌâÖ®Í⣬Äú»¹ÐèҪȷ±£±àд°²È«µÄÓ¦ÓóÌÐò¡£ÔÚ±àд PHP Ó¦ÓóÌÐòʱ£¬ÇëÓ¦ÓÃÏÂÃæµÄÆß¸öϰ¹ßÒÔÈ·±£Ó¦ÓóÌÐò¾ßÓÐ×îºÃµÄ°²È«ÐÔ£º
ÑéÖ¤ÊäÈë
±£»¤Îļþϵͳ
±£»¤Êý¾Ý¿â
±£»¤»á»°Êý¾Ý
±£»¤¿çÕ¾µã½Å±¾£¨Cross-site scripting£¬XSS£©Â©¶´
¼ìÑé±íµ¥ post
Õë¶Ô¿çÕ¾µãÇëÇóαÔ죨Cross-Site Request Forgeries£¬CSRF£©½øÐб£»¤
ÑéÖ¤ÊäÈë
ÔÚÌá¼°°²È«ÐÔÎÊÌâʱ£¬ÑéÖ¤Êý¾ÝÊÇÄú¿ÉÄܲÉÓõÄ×îÖØÒªµÄϰ¹ß¡£¶øÔÚÌá¼°ÊäÈëʱ£¬Ê®·Ö¼òµ¥£º²»ÒªÏàÐÅÓû§¡£ÄúµÄÓû§¿ÉÄÜÊ®·ÖÓÅÐ㣬²¢ÇÒ´ó¶àÊýÓû§¿ÉÄÜÍêÈ«°´ÕÕÆÚÍûÀ´Ê¹ÓÃÓ¦ÓóÌÐò¡£µ«ÊÇ£¬Ö»ÒªÌṩÁËÊäÈëµÄ»ú»á£¬Ò²¾Í¼«ÓпÉÄÜ´æÔڷdz£Ôã¸âµÄÊäÈë¡£×÷ΪһÃûÓ¦ÓóÌÐò¿ª·¢ÈËÔ±£¬Äú±ØÐë×èÖ¹Ó¦ÓóÌÐò½ÓÊÜ´íÎóµÄÊäÈë¡£×Ðϸ¿¼ÂÇÓû§ÊäÈëµÄλÖü°ÕýÈ·Öµ½«Ê¹Äú¿ÉÒÔ¹¹½¨Ò»¸ö½¡×³¡¢°²È«µÄÓ¦ÓóÌÐò¡£
ËäÈ»ºóÎĽ«½éÉÜÎļþϵͳÓëÊý¾Ý¿â½»»¥£¬µ«ÊÇÏÂÃæÁгöÁËÊÊÓÃÓÚ¸÷ÖÖÑéÖ¤µÄÒ»°ãÑéÖ¤Ìáʾ£º
ʹÓð×Ãûµ¥ÖеÄÖµ
ʼÖÕÖØÐÂÑéÖ¤ÓÐÏÞµÄÑ¡Ïî
ʹÓÃÄÚÖÃתÒ庯Êý
ÑéÖ¤ÕýÈ·µÄÊý¾ÝÀàÐÍ£¨ÈçÊý×Ö£©
°×Ãûµ¥ÖеÄÖµ£¨White-listed value£©ÊÇÕýÈ·µÄÖµ£¬ÓëÎÞЧµÄºÚÃûµ¥Öµ£¨Black-listed value£©Ïà¶Ô¡£Á½ÕßÖ®¼äµÄÇø±ðÊÇ£¬Í¨³£ÔÚ½øÐÐÑé֤ʱ£¬¿ÉÄÜÖµµÄÁбí»ò·¶Î§Ð¡ÓÚÎÞЧֵµÄÁбí»ò·¶Î§£¬ÆäÖÐÐí¶àÖµ¿ÉÄÜÊÇδֵ֪»òÒâÍâÖµ¡£
ÔÚ½øÐÐÑé֤ʱ£¬¼ÇסÉè¼Æ²¢ÑéÖ¤Ó¦ÓóÌÐòÔÊÐíʹÓõÄֵͨ³£±È·ÀÖ¹ËùÓÐδֵ֪¸üÈÝÒס£ÀýÈ磬Ҫ°Ñ×Ö¶ÎÖµÏÞ¶¨ÎªËùÓÐÊý×Ö£¬ÐèÒª±àдһ¸öÈ·±£ÊäÈëÈ«¶¼ÊÇÊý×ÖµÄÀý³Ì¡£²»Òª±àдÓÃÓÚËÑË÷·ÇÊý×ÖÖµ²¢ÔÚÕÒµ½·ÇÊý×Öֵʱ±ê¼ÇΪÎÞЧµÄÀý³Ì¡£
±£»¤Îļþϵͳ
2000 Äê 7 Ô£¬Ò»¸ö Web Õ¾µãй¶Á˱£´æÔÚ Web ·þÎñÆ÷µÄÎļþÖеĿͻ§Êý¾Ý¡£¸Ã Web Õ¾µãµÄÒ»¸ö·ÃÎÊÕßʹÓà URL ²é¿´Á˰üº¬Êý¾ÝµÄÎļþ¡£ËäÈ»Îļþ±»·Å´íÁËλÖ㬵«ÊÇÕâ¸öÀý×ÓÇ¿µ÷ÁËÕë¶Ô¹¥»÷Õß±£»¤ÎļþϵͳµÄÖØÒªÐÔ¡£
Èç¹û PHP Ó¦ÓóÌÐò¶ÔÎļþ½øÐÐÁËÈÎÒâ´¦Àí²¢ÇÒº¬ÓÐÓû§¿ÉÒÔÊäÈëµÄ±äÁ¿Êý¾Ý£¬Çë×Ðϸ¼ì²éÓû§ÊäÈëÒÔÈ·±£Óû§ÎÞ·¨¶ÔÎļþϵͳִÐÐÈκβ»Ç¡µ±µÄ²Ù×÷¡£Çåµ¥ 1 ÏÔʾÁËÏÂÔØ¾ßÓÐÖ¸¶¨ÃûµÄͼÏñµÄ PHP Õ¾µãʾÀý¡£
Çåµ¥ 1. ÏÂÔØÎļþ
<?php
if ($_POST['submit'] == 'Download') {
$file = $_POST['fileName'];
header("Content-Type: application/x-octet-stream");
header("Content-Transfer-Encoding: binary");
header("Content-Disposition: attachment; filename=\"" . $file . "\";
Ïà¹ØÎĵµ£º
ĿǰLAMP (Linux + Apache + MySQL + PHPspan style="font-family: Verdana;">) ½ü¼¸ÄêÀ´·¢Õ¹Ñ¸ËÙ£¬ÒѾ³ÉΪWeb ·þÎñÆ÷µÄÊÂʵ±ê×¼¡£LAMPÕâ¸ö´ÊµÄÓÉÀ´×îÔçʼÓڵ¹úÔÓÖ¾“c't Mag
azine”£¬Michael KunzeÔÚ1990Äê×îÏȰÑÕâЩÏîÄ¿×éºÏÔÚÒ»Æð´´ÔìÁËLAMPµÄËõд×Ö¡£ÕâЩ×é¼þËäÈ»²¢²»ÊÇ¿ª¿ªÊ¼¾ÍÉè¼ÆÎªÒ»Æðʹ ......
http://www.w3school.com.cn/php/php_intro.asp
ʲôÊÇ PHP£¿
PHP Ö¸ PHP:³¬Îı¾Ô¤´¦ÀíÆ÷£¨ÒëÕß×¢£ºPHP: Hypertext Preprocessor£¬µÝ¹éÃüÃû£©
PHP ÊÇÒ»ÖÖ·þÎñÆ÷¶ËµÄ½Å±¾ÓïÑÔ£¬ÀàËÆ ASP
PHP ½Å±¾ÔÚ·þÎñÆ÷ÉÏÖ´ÐÐ
PHP Ö§³ÖºÜ¶àÊý¾Ý¿â£¨MySQL¡¢Informix¡¢Oracle¡¢Sybase¡¢Solid¡¢PostgreSQL¡¢Generic ODBC µÈµÈ£©
PHP ÊÇÒ ......
±äÁ¿ÓÃÓÚ´æ´¢Öµ£¬±ÈÈçÊý×Ö¡¢×Ö·û´®»òº¯ÊýµÄ½á¹û£¬ÕâÑùÎÒÃǾͿÉÒÔÔڽű¾Öжà´ÎʹÓÃËüÃÇÁË¡£
PHP ÖеıäÁ¿
±äÁ¿ÓÃÓÚ´æ´¢Öµ£¬±ÈÈçÊý×Ö¡¢Îı¾×Ö·û´®»òÊý×é¡£
Ò»µ©ÉèÖÃÁËij¸ö±äÁ¿£¬ÎÒÃǾͿÉÒÔÔڽű¾ÖÐÖØ¸´µØÊ¹ÓÃËü¡£
PHP ÖеÄËùÓбäÁ¿¶¼ÊÇÒÔ $ ·ûºÅ¿ªÊ¼µÄ¡£
ÔÚ PHP ÖÐÉèÖñäÁ¿µÄÕýÈ··½·¨ÊÇ£º
$var_name = value;
PHP ......
×Ö·û´®±äÁ¿ÓÃÓÚ´æ´¢²¢´¦ÀíÎı¾Æ¬¶Î¡£
PHP ÖеÄ×Ö·û´®
×Ö·û´®±äÁ¿ÓÃÓÚ°üº¬×Ö·û´®µÄÖµ¡£
ÔÚ±¾½Ì³ÌÖУ¬ÎÒÃÇ´òËã½éÉܼ¸¸öÔÚ PHP ÖÐÓÃÓÚ²Ù×÷×Ö·û´®µÄ×î³£Óõĺ¯ÊýºÍÔËËã·û¡£
ÔÚ´´½¨×Ö·û´®Ö®ºó£¬ÎÒÃǾͿÉÒÔ¶ÔËü½øÐвÙ×÷ÁË¡£Äú¿ÉÒÔÖ±½ÓÔÚº¯ÊýÖÐʹÓÃ×Ö·û´®£¬»òÕß°ÑËü´æ´¢ÔÚ±äÁ¿ÖС£
ÔÚÏÂÃæ£¬PHP ½Å±¾°Ñ×Ö·û´® "Hello World" ¸³ ......
Èç¹ûÄúʹÓùý PHP£¬Äú¾Í»á·¢ÏÖËüÊÇ´´½¨ÌØÐԷḻµÄ Web Ò³ÃæµÄ³öÉ«¹¤¾ß¡£×÷Ϊһ´ó½Å±¾ÓïÑÔ£¬PHP£º
ÈÝÒ×ѧϰ¡£
ÓÐÐí¶àÇ¿´óµÄ¿ò¼Ü£¨±ÈÈç CakePHP ºÍ CodeIgniter£©£¬ÈÃÄúÄܹ»Ïñ Rails ³ÌÐòÔ±Ò»Ñù¸ßЧ¡£
Äܹ»Óë MySQL¡¢PostgreSQL¡¢Microsoft® SQL Server£¬ÉõÖÁ Oracle ͨÐÅ¡£
Äܹ»ÇáËɵØÓë JavaScript ¿ò¼Ü¼¯³É£¬±È ......