È·±£PHP°²È«µÄËÄÌõ°²È«¹æÔò
ÓйØPHP
°²È«µÄ¼¸Ìõ¹æÔò
¹æÔò 1£º¾ø²»ÒªÐÅÈÎÍⲿÊý¾Ý»òÊäÈë
¹ØÓÚ Web Ó¦ÓóÌÐò°²È«ÐÔ£¬±ØÐëÈÏʶµ½µÄµÚÒ»¼þÊÂÊDz»Ó¦¸ÃÐÅÈÎÍⲿÊý¾Ý¡£ÍⲿÊý¾Ý£¨outside data£© °üÀ¨²»ÊÇÓɳÌÐòÔ±ÔÚ PHP
´úÂëÖÐÖ±½ÓÊäÈëµÄÈκÎÊý¾Ý¡£ÔÚ²ÉÈ¡´ëʩȷ±£°²È«Ö®Ç°£¬À´×ÔÈÎºÎÆäËûÀ´Ô´£¨±ÈÈç GET ±äÁ¿¡¢±íµ¥ POST¡¢Êý¾Ý¿â¡¢ÅäÖÃÎļþ¡¢»á»°±äÁ¿»ò
cookie£©µÄÈκÎÊý¾Ý¶¼ÊDz»¿ÉÐÅÈεÄ
ÀýÈ磬ÏÂÃæµÄÊý¾ÝÔªËØ¿ÉÒÔ±»ÈÏΪÊǰ²È«µÄ£¬ÒòΪËüÃÇÊÇÔÚ PHP
ÖÐÉèÖõġ£
Çåµ¥ 1. °²È«ÎÞϾµÄ´úÂë
ÒÔÏÂΪÒýÓõÄÄÚÈÝ£º
<?php
$myUsername = ‘tmyer’;
$arrayUsers =
array(’tmyer’, ‘tom’, ‘tommy’);
define(”GREETING”, ‘hello there’ .
$myUsername);
?>
µ«ÊÇ£¬ÏÂÃæµÄÊý¾ÝÔªËØ¶¼ÊÇÓÐ覴õġ£
Çåµ¥ 2. ²»°²È«¡¢ÓÐ覴õĴúÂë
ÒÔÏÂΪÒýÓõÄÄÚÈÝ£º
<?php
$myUsername = $_POST['username'];
//tainted!
$arrayUsers = array($myUsername, ‘tom’, ‘tommy’);
//tainted!
define(”GREETING”, ‘hello there’ . $myUsername);
//tainted!
?>
Ϊ ʲôµÚÒ»¸ö±äÁ¿ $myUsername ÊÇÓÐ覴õģ¿ÒòΪËüÖ±½ÓÀ´×Ô±íµ¥
POST¡£Óû§¿ÉÒÔÔÚÕâ¸öÊäÈëÓòÖÐÊäÈëÈκÎ×Ö·û´®£¬°üÀ¨ÓÃÀ´Çå³ýÎļþ»òÔËÐÐÒÔǰÉÏ´«µÄÎļþµÄ¶ñÒâÃüÁî¡£Äú¿ÉÄÜ»áÎÊ£¬“ÄѵÀ²»ÄÜʹÓÃÖ»½ÓÊÜ×Öĸ A-Z
µÄ¿Í»§¶Ë£¨Javascrīpt£©±íµ¥¼ìÑé½Å±¾À´±ÜÃâÕâÖÖΣÏÕÂ𣿔Êǵģ¬Õâ×ÜÊÇÒ»¸öÓкô¦µÄ²½Ö裬µ«ÊÇÕýÈçÔÚºóÃæ»á¿´µ½µÄ£¬ÈκÎÈ˶¼¿ÉÒÔ½«ÈÎºÎ±íµ¥ÏÂÔØ
µ½×Ô¼ºµÄ»úÆ÷ÉÏ£¬ÐÞ¸ÄËü£¬È»ºóÖØÐÂÌá½»ËûÃÇÐèÒªµÄÈκÎÄÚÈÝ¡£
½â¾ö·½°¸ºÜ¼òµ¥£º±ØÐë¶Ô $_POST['username'] ÔËÐÐÇåÀí´úÂë¡£Èç¹û²»Õâô×ö£¬ÄÇôÔÚʹÓà $myUsername
µÄÈÎºÎÆäËûʱºò£¨±ÈÈçÔÚÊý×é»ò³£Á¿ÖУ©£¬¾Í¿ÉÄÜÎÛȾÕâЩ¶ÔÏó¡£
¶ÔÓû§ÊäÈë½øÐÐÇåÀíµÄÒ»¸ö¼òµ¥·½·¨ÊÇ£¬Ê¹ÓÃÕýÔò±í´ïʽÀ´´¦ÀíËü¡£ÔÚÕâ¸öʾÀýÖУ¬Ö»Ï£Íû½ÓÊÜ×Öĸ¡£½«×Ö·û´®ÏÞÖÆÎªÌØ¶¨ÊýÁ¿µÄ×Ö·û£¬»òÕßÒªÇóËùÓÐ×Öĸ¶¼ÊÇСдµÄ£¬Õâ¿ÉÄÜÒ²ÊǸöºÃÖ÷Òâ¡£
Çåµ¥ 3. ʹÓû§ÊäÈë±äµÃ°²È« www~phperz~com
ÒÔÏÂΪÒýÓõÄÄÚÈÝ£º
<?php
$myUsername = cleanInput($_POST['username']);
//clean!
$arrayUsers = array($myUsername, ‘tom’, ‘tommy’);
//clean!
define(”GREETING”, ‘hello there’ .
Ïà¹ØÎĵµ£º
1¡¢Ê¹Óþø¶Ô·¾¶°üº¬Îļþ
ÔÚÿ´Î¶ÔÎļþµÄ°üº¬ÖУ¬¶¼Ê¹ÓÃϵͳ¾ø¶Ô·¾¶½øÐаüº¬£¬±ÈÈç require('/var/www/html/inc/test.inc')£»µÄ·½Ê½£¬ÔÚËùÓÐÎļþÖж¼ÕâÑù°üº¬¾Í¿ÉÒÔ±ÜÃâ¶à¼¶°üº¬³öÏÖµÄÎÊÌ⣬µ«ÊÇÕâÖз½Ê½²»Áé»î£¬ÏµÍ³¿ÉÒÆÖ²ÐÔ¼«²î£¬½¨Òé²»²ÉÓá£
2¡¢ÔÚÒ»¸ö¹«ÓÃÎļþÖж¨Ò幫ÓÃÎļþµÄÁÐ±í£¬½«¸÷¸ö¹«ÓÃÎļþµÄ ......
JSON
»ù
ÓÚJavaScript Programming Language, Standard ECMA-262 3rd Edition -
December 1999µÄÒ»¸ö×Ó¼¯¡£JSON²ÉÓÃÍêÈ«¶ÀÁ¢ÓÚÓïÑÔµÄÎı¾¸ñʽ£¬µ«ÊÇҲʹÓÃÁËÀàËÆÓÚCÓïÑÔ¼Ò×åµÄϰ¹ß£¨°üÀ¨C, C++, C#, Java
, JavaScript, Perl, PythonµÈ£©¡£ÕâÐ©ÌØÐÔʹJSON³ÉΪÀíÏëµÄÊý¾Ý½»»»ÓïÑÔ¡£
JSON½¨¹¹ÓÚÁ½Öֽṹ£º
“Ãû
³ ......
php°²×°
# tar xzvf php-5.2.5.tar.gz
# cd php-5.2.5
./configure --prefix=/home/redadmin/php --with-apxs2=/home/redadmin/apache/bin/apxs --with-mysql=/home/redadmin/mysql --enable-mbstring=all --enable-track-vars
# make && make install
# cp php.ini-dist /home/redadmin/php/lib/php.ini
# c ......
<?php
$n = array('13','14','55','10','54','2','79','106','89','90','22','60','111','77777','-110','-10','123');
function partition($n,$left,$right)
{
global $n;
$pivot = $n[$left];
$lo=$left;
$hi=$right+1;
while($lo+1!=$hi) {
if($n[$lo+1]<$pivot)
$lo++;
else if($n[$hi-1] ......