pack/unpackµÄÃþ°å×Ö·û×Ö·ûº¬Òå
format ²ÎÊýµÄ¿ÉÄÜÖµ£º
a - NUL-padded string
A - SPACE-padded string
h - Hex string, low nibble first
H - Hex string, high nibble first
c - signed char
C - unsigned char
s - signed short (always 16 bit, machine byte order)
S - unsigned short (always 16 bit, machine byte order)
n - unsigned short (always 16 bit, big endian byte order)
v - unsigned short (always 16 bit, little endian byte order)
i - signed integer (machine dependent size and byte order)
I - unsigned integer (machine dependent size and byte order)
l - signed long (always 32 bit, machine byte order)
L - unsigned long (always 32 bit, machine byte order)
N - unsigned long (always 32 bit, big endian byte order)
V - unsigned long (always 32 bit, little endian byte order)
f - float (machine dependent size and representation)
d - double (machine dependent size and representation)
x - NUL byte
X - Back up one byte
@ - NUL-fill to absolute position
aÒ»¸öÌî³ä¿ ......
ÊÜÓ°Ïìϵͳ£º
PHP PHP 5.2.x
²»ÊÜÓ°Ïìϵͳ£º
PHP PHP 5.2.11
ÃèÊö£º
BUGTRAQ ID: 36449
CVE ID: CVE-2009-3291,CVE-2009-3292,CVE-2009-3293,CVE-2009-3294
PHPÊǹ㷺ʹÓõÄͨÓÃÄ¿µÄ½Å±¾ÓïÑÔ£¬ÌرðÊʺÏÓÚWeb¿ª·¢£¬¿ÉǶÈëµ½HTMLÖС£
PHPµÄ5.2.11֮ǰ°æ±¾µÄ¶à¸öº¯ÊýÖдæÔÚ°²È«Â©¶´£¬¿ÉÄÜÔÊÐíÔ¶³Ì¹¥»÷Õßµ¼Ö¾ܾø·þÎñ»òÍêÈ«ÈëÇÖÓû§ÏµÍ³¡£
1) PHPµÄphp_openssl_apply_verification_policyº¯ÊýûÓÐÕýÈ·µÄÖ´ÐÐÖ¤ÊéÑéÖ¤£¬¿ÉÄÜÔÊÐí¹¥»÷Õßͨ¹ýαÔìµÄÖ¤ÊéÖ´ÐÐÆÛÆ¹¥»÷¡£
2) imagecolortransparentº¯ÊýûÓÐÕýÈ·µÄ¶ÔÑÕÉ«Ë÷ÒýÖ´ÐйýÂ˼ì²é¡£
3) µ±ÔËÐÐÔÚijЩWindows²Ù×÷ϵͳÉÏʱ£¬TSRM/tsrm_win32.cÎļþÖеÄpopen APIº¯ÊýÔÊÐí¹¥»÷Õßͨ¹ýµÚ¶þ¸ö²ÎÊýÖеÄÌØÖÆe»òer×Ö·û´®µ¼Ö¾ܾø·þÎñ¡£
<*À´Ô´£ºRyan Sleevi
Á´½Ó£ºhttp://secunia.com/advisories/36791
http://bugs.php.net/bug.php?id=44683
*>
²âÊÔ·½·¨£º
¾¯ ¸æ
ÒÔϳÌÐò(·½·¨)¿ÉÄÜ´øÓй¥»÷ÐÔ£¬½ö¹©°²È«Ñо¿Óë½Ìѧ֮Óá£Ê¹ÓÃÕß·çÏÕ×Ô¸º£¡
<?php
$t1 = popen("echo hello", "e");
pclose($t1);
$t2 = popen("echo he ......
PHP»ù±¾Óï·¨ºÍÊý¾ÝÀàÐÍ£º
£¨1£©¡¢PHP»ù±¾Óï·¨£º
1¡¢htm ºÍ php »ì±à
2¡¢Ò»¸öÓï¾äÒÔ ; (·ÖºÅ½áÊø)
3¡¢ÈçºÎ¶¨ÒåÒ»¸ö±äÁ¿£¬ºÍ±äÁ¿µÄʹÓÃ
(2)PHPÊý¾ÝÔËËãÀàÐÍ
ËÄÖÖ±êÁ¿ÀàÐÍ£º
boolean£¨²¼¶ûÐÍ£© Àí½âÎªÕæ¼ÙÐÍ
integer£¨ÕûÐÍ£©
float£¨¸¡µãÐÍ£¬Ò²×÷“double”£©
Àí½âΪСÊýÐÍ
string£¨×Ö·û´®£©
Á½ÖÖ¸´ºÏÀàÐÍ£º
array£¨Êý×飩
object£¨¶ÔÏó£©
boolean£¨²¼¶ûÐÍ£© Àí½âÎªÕæ¼ÙÐÍ
$bo=TRUE; $bo=FALSE;
integer£¨ÕûÐÍ£©
$bo=1; $bo=-12;
float£¨¸¡µãÐÍ£¬Ò²×÷“double”£© Àí½âΪСÊýÐÍ
$bo=1.001; $bo=3.1415926;
string£¨×Ö·û´®£©
$bo=“Õâ¶Î×Ö·û´® or EN Word”;
array£¨Êý×飩
$bo=array(1,2,3,4); $bo=array(“A”=>1 , “B”=>2);
ÒÔÏÂÊÇÎҵĵÚÒ»¸öphp³ÌÐòÔ´Â룺
<!DOCTYPE htm ......
ǰ¶Îʱ¼ä¿´µ½ÓÐÈËÓÃħÊÞÀ´½âÊÍÉè¼ÆÄ£Ê½£¬¸Ð¾õºÜÓÐÒâ˼£¬ÓÚÊÇÎÒ°ÑËü¸ÄÁ˸ģ¬ÓÖÌí¼ÓÁËЩÉè¼ÆÄ£Ê½ÄÚÈÝ£¬½ñÌì·¢³öÀ´¡£ÓÐЩµØ·½½è¼øÁËǰÈ˵ÄÄÚÈÝ£¬Ã»ÓÐ×¢Ã÷£¬ÇëǰÈ˲»Òª¼û¹Ö°¡¡£
ÕâÀïÓôó¼Ò¸ÐÐËȤµÄħÊÞ3À´ÌÖÂÛPHPµÄ¼¸ÖÖ³£¼ûµÄÉè¼ÆÄ£Ê½£ºµ¥¼þģʽ¡¢²ßÂÔģʽ¡¢¹¤³§Ä£Ê½¡¢¹Û²ìÕßģʽ¡£½ñÌì¾Í½²ÕâËĸö°É£¬ÒÔºó¼ÌÐø¡£
ÕâЩÉè¼ÆÄ£Ê½£¬¶¼ÊÇÕë¶ÔÃæÏò¶ÔÏóÀ´ËµµÄ£¬ËùÒÔ¶¼ÓÃPHP5£¬ÁíÍâÔÚÕâÀïÎÒÏë˵µÄÊÇPHP4´Ó2008Äê8ÔÂ8ÈÕ£¨ÎҼǵÃÊǺͱ±¾©°ÂÔË»áͬһÌ죬û²éÖ¤£¬ºÇºÇ£©µÄʱºò¹Ù·½¾Í·¢ÁË×îºóÒ»¸öPHP4µÄ²¹¶¡£¬ÕâÒâζÕâPHP4µÄʱ´úÒѾÖսᣬËùÒÔ£¬ÎÒ½¨Òé´ó¼ÒÏÖÔھͱðÀíPHP4°É£¬¾ÍÒÔPHP5À´Ëµ°É¡£
Ò»¡¢µ¥¼þģʽ£º
ÎÊÌâµÄÌá³ö£º
ijЩӦÓóÌÐò×ÊÔ´ÊǶÀÕ¼µÄ£¬ÒòΪÓÐÇÒÖ»ÓÐÒ»¸ö´ËÀàÐ͵Ä×ÊÔ´¡£ÀýÈ磬ͨ¹ýÊý¾Ý¿â¾ä±úµ½Êý¾Ý¿âµÄÁ¬½ÓÊǶÀÕ¼µÄ¡£ÄúÏ£ÍûÔÚÓ¦ÓóÌÐòÖй²ÏíÊý¾Ý¿â¾ä±ú£¬ÒòΪÔÚ±£³ÖÁ¬½Ó´ò¿ª»ò¹Ø±Õʱ£¬ËüÊÇÒ»ÖÖ¿ªÏú£¬ÔÚ»ñÈ¡µ¥¸öÒ³ÃæµÄ¹ý³ÌÖиüÊÇÈç´Ë¡£
ÎÊÌâµÄ½â¾ö£º
ÄÇôÏÂÃæÎÒÃǾͿªÊ¼ÍæÄ§ÊÞ°É¡£Ê×ÏÈË«»÷war3.exe£¬Õâʱºò¾Í¿ªÊ¼ÔËÐÐħÊÞÁË¡£ÎÒÃÇÓôúÂëÀ´ÊµÏÖ°É¡£¡£
class War3
{
public function __construct()
{
echo "War3 is Running.","";
}
}
$war = new War3();
ÔËÐУ¡ºÜºÃ ......
{Ò»}PHPÖÐthis,self,parentµÄÇø±ðÖ®Ò»thisƪ
ÃæÏò¶ÔÏó±à³Ì(OOP,Object Oriented Programming)ÏÖÒѾ³ÉΪ±à³ÌÈËÔ±µÄÒ»Ïî»ù±¾¼¼ÄÜ¡£ÀûÓÃOOPµÄ˼Ïë½øÐÐPHPµÄ¸ß¼¶±à³Ì£¬¶ÔÓÚÌá¸ßPHP±à³ÌÄÜÁ¦ºÍ¹æ»®web¿ª·¢¹¹¼Ü¶¼ÊǺÜÓÐÒâÒåµÄ¡£
PHP5¾¹ýÖØÐ´ºó£¬¶ÔOOPµÄÖ§³Ö¶îÓÐÁ˺ܴóµÄ·ÉÔ¾£¬³ÉΪÁ˾߱¸Á˴󲿷ÖÃæÏò¶ÔÏóÓïÑÔµÄÌØÐÔµÄÓïÑÔ£¬±ÈPHP4ÓÐÁ˺ܶàµÄÃæÏò¶ÔÏóµÄÌØÐÔ¡£ÕâÀïÎÒÖ÷Ҫ̸µÄÊÇ this,self,parent Èý¸ö¹Ø¼ü×ÖÖ®¼äµÄÇø±ð¡£´Ó×ÖÃæÉÏÀ´Àí½â£¬·Ö±ðÊÇÖ¸ Õâ¡¢×Ô¼º¡¢¸¸Çס£Ïȳõ²½½âÊÍһϣ¬thisÊÇÖ¸Ïòµ±Ç°¶ÔÏóµÄÖ¸Õ루¿ÉÒÔ¿´³ÉCÀïÃæµÄÖ¸Õ룩£¬selfÊÇÖ¸Ïòµ±Ç°ÀàµÄÖ¸Õ룬parentÊÇÖ¸Ïò¸¸ÀàµÄÖ¸Õë¡£ÎÒÃÇÕâÀïÆµ·±Ê¹ÓÃÖ¸ÕëÀ´ÃèÊö£¬ÊÇÒòΪûÓиüºÃµÄÓïÑÔÀ´±í´ï¡£¹ØÓÚÖ¸ÕëµÄ¸ÅÄ´ó¼Ò¿ÉÒÔÈ¥²Î¿¼°Ù¿Æ¡£
ÏÂÃæÎÒÃǾ͸ù¾Ýʵ¼ÊµÄÀý×Ó½áºÏÀ´½²½²¡£
<?php
class name //½¨Á¢ÁËÒ»¸öÃûΪnameµÄÀà
{
private $name; //¶¨ÒåÊôÐÔ£¬Ë½ÓÐ
//¶¨Òå¹¹Ô캯Êý£¬ÓÃÓÚ³õʼ»¯¸³Öµ
& ......
phpÖÐset_include_pathº¯ÊýÓ÷¨£º
phpÖеÄset_include_pathº¯Êý¿ÉÓÃÓÚÉèÖÃÓ¦ÓóÌÐòĿ¼,¿ª·¢ÏîĿʱºÏÀíÓ¦ÓÃÕâЩº¯Êý,²»µ«¿ÉÒÔÈÃÎÒÃÇÔÚincludeʱ²»ÓÃÒ»²ãÒ»²ãµÄ¼ÆËãĿ¼,»¹¿ÉÒÔÌá¸ßÎÒÃÇ¿ª·¢µÄЧÂÊ,¼õÉÙÎļþ°üº¬´íÎóÂÊ.
ÀýÈ磺
¼òÀú2¸öphpÎļþ,Ò»¸öĿ¼
λÖýṹÈçÏÂ
/index.php
/include/config.php
index.php£º
<?php
set_include_path("include");
include("config.php");
?>
/include/config.php
ÒÔÏÂΪÒýÓõÄÄÚÈÝ£º
ÎÒÊÇincludeϵÄconfig.php
ÏÖÔÚÎÒÃÇÔËÐÐindex.php
ÔõôÑù,¿´µ½½á¹ûû
ÎÒÃÇincludeʱֻÓÃдconfig.php¾Í¿ÉÒÔ°Ñ/inlcude/config.php Îļþ°üº¬½øÀ´
É趨¶à¸öincludeĿ¼ʱÓà " ;" ºÅ·Ö¿ª
Èç: set_include_path("include;include2;include3;lib;c:\php\lib");
¿ÉÒÔÓÃÏà¶Ô·¾¶Ò²¿ÉÒÔÓþõ¶Ô·¾¶.
»òÐíÕâ¶ÎССµÄ´úÂëÄã¿ÉÄܸоõ²»³öset_include_pathµÄºÃ´¦,²»¹ý²»Òª½ô,ÄãÖ»Òª¼ÇסÕâô¸ö´úÂë¿ÉÒÔʵÏÖÕâÑùµÄ¹¦Äܼ´¿É,ÔÚÄãÒÔºó¼¼ÊõÌáÉÏÈ¥,¿ªÊ¼¿ª·¢´óÐÍÏîĿʱ²»ÒªÍüÁËÓÐÕâô¸öº¯Êý,Ëû¿ÉÒÔ¼õÉÙÄãµÄ¹¤×÷Á¿.
½ãÃú¯Êýget_include_path() ¿ÉÒÔ»ñÈ¡µ±Ê±µÄincludeĿ¼,
ʵÏÖset_include_pathͬÑù¹¦ÄܵϹÓÐÎÒÃÇÇ¿´óÓÖ¿É ......