PHPÓïÑÔ±¾ÉíÊDz»Ö§³Ö¶àÏ̵߳Ä. ×ܽáÁËÒ»ÏÂÍøÉϹØÓÚPHPÄ£Äâ¶àÏ̵߳ķ½·¨, ×ܵÄÀ´Ëµ, ¶¼ÊÇÀûÓÃÁËPHPµÄºÃ»ï°éÃDZ¾ÉíËù¾ßÓеĶàÏß³ÌÄÜÁ¦.
PHPµÄºÃ»ï°éÖ¸µÄ¾ÍÊÇLINUXºÍAPACHEÀ², LAMPÂï.
ÁíÍâ, ¼ÈÈ»ÊÇÄ£ÄâµÄ, ¾Í²»ÊÇÕæÕýµÄ¶àÏß³Ì. ÆäʵֻÊÇ¶à½ø³Ì. ½ø³ÌºÍÏß³ÌÊÇÁ½¸ö²»Í¬µÄ¸ÅÄî. ºÃÁË, ÒÔÏ·½·¨¶¼ÊÇ´ÓÍøÉÏÕÒÀ´µÄ.
1. ÀûÓÃLINUX²Ù×÷ϵͳ
<?php
for ($i=0;$i<10;$i++) {
echo $i;
sleep(5);
}
?>
ÉÏÃæ´æ³Étest.php, È»ºóдһ¶ÎSHELL´úÂë
#!/bin/bash
for i in 1 2 3 4 5 6 7 8 9 10
do
php -q test.php &
done
2. ÀûÓÃfork×Ó½ø³Ì(ÆäʵͬÑùÊÇÀûÓÃLINUX²Ù×÷ϵͳ)
<?php
declare(ticks=1);
$bWaitFlag = FALSE; /// ÊÇ·ñµÈ´ý½ø³Ì½áÊø
$intNum = 10; /// ½ø³Ì×ÜÊý
$pids = array(); /// ½ø³ÌPIDÊý×é
echo ("Startn");
for($i = 0; $i < $intNum; $i++) {
$pids[$i] = pcntl_fork();/// ²úÉú×Ó½ø³Ì£¬¶øÇÒ´Óµ±Ç°ÐÐ֮ϿªÊÔÔËÐдúÂ룬¶øÇÒ²»¼Ì³Ð¸¸½ø³ÌµÄÊý¾ÝÐÅÏ¢
&nb ......
1. PHP¿ÉÔĶÁËæ»ú×Ö·û´®
´Ë´úÂë
½«´´½¨Ò»¸ö¿ÉÔĶÁµÄ×Ö·û´®£¬Ê¹Æä¸ü½Ó½ü´ÊµäÖеĵ¥
´Ê£¬ÊµÓÃÇÒ¾ßÓÐÃÜÂëÑéÖ¤¹¦ÄÜ¡£
/**************
[email=*@length]*@length[/email] - length of random string (must be a
multiple of 2)
**************/
function readable_random_string($length = 6){
$conso=array("b","c","d","f","g","h","j","k","l",
"m","n","p","r","s","t","v","w","x","y","z");
$vocal=array("a","e","i","o","u");
$password="";
srand ((double)microtime()*1000000);
$max = $length/2;
for($i=1; $i<=$max; $i++)
{
$password.=$conso[rand(0,19)];
$password.=$vocal[rand(0,4)];
}
&n ......
Floating point precision
It is typical that simple decimal fractions like 0.1
or
0.7
cannot be converted into their internal binary
counterparts without a small loss of precision. This can lead to
confusing
results: for example, floor((0.1+0.7)*10)
will usually
return 7
instead of the expected 8
,
since the internal representation will be something like
7.9
.
This is due to the fact that it is impossible to express some
fractions in decimal notation with a finite number of digits. For
instance,
1/3
in decimal form becomes
0.3
.
So never trust floating number results to the last digit, and never
compare
floating point numbers for equality. If higher precision is
necessary,
the arbitrary
precision math functions
and
gmp
functions are available.
......
<?php
/*
»ñȡԶ³ÌͼƬº¯Êý
*/
function GrabImage($url,$filename=""){
//ÈôurlΪ¿Õ·µ»Øfalse£¬ÎÞµØÖ·
if($url=="") return false;
//Èô$filenameΪ¿Õ
if($filename=="") {
$ext=strrchr($url,"."); //»ñÈ¡"."¼Óºó׺
if($ext!=".gif"&&$ext!=".jpg"&&$ext!=".png") return false;
$filename=date("YmdHis").$ext;
}
ob_start();
readfile($url);
$img = ob_get_contents();
ob_end_clean();
$size = strlen($img);
$fp2=@fopen($filename,"a");
fwrite($fp2,$img);
fclose($fp2);
return $filename;
}
$img=GrabImage("http://www.google.com/intl/en_ALL/images/logo.gif","logo.gif");
if($img){
echo '<img src="'.$img.'" mce_src="'.$img.'">';
}else{
echo "false";
}
?>
......
¶ÔÓڽű¾°²È«Õâ¸ö»°ÌâºÃÏñÓÀԶûÍêûÁË£¬Èç¹ûÄã¾³£µ½¹úÍâµÄ¸÷ÖÖ¸÷ÑùµÄbugtraqÉÏ£¬Äã»á·¢ÏÖÓÐÒ»°ëÒÔÉ϶¼ºÍ½Å±¾Ïà¹Ø£¬ÖîÈçSQL
injection£¬XSS£¬Path Disclosure£¬Remote commands
executionÕâÑùµÄ×ÖÑ۱ȱȽÔÊÇ£¬ÎÒÃÇ¿´ÁËÖ®ºóµÄÓÃ;ÄѵÀ½ö½öÊÇ×¥È⼦?¶ÔÓÚÎÒÃÇÏë×öweb°²È«µÄÈËÀ´Ëµ£¬×îºÃ¾ÍÊÇÄÃÀ´Ñ§Ï°£¬¿ÉÊÇÍòÎï×¥¸ùÔ´£¬ÎÒÃÇ
ÒªµÄ²»ÊÇÓã¶øÊÇÓæ¡£ÔÚ¹úÄÚ£¬¸÷ÖÖ¸÷ÑùµÄphp
³ÌÐò1.0°æ£¬2.0°æÏñÓêºó´ºËñÒ»ÑùµÄð³öÀ´£¬
¿ÉÊÇ£¬´ó¼Ò¹Ø×¢µÄ¶¼ÊÇÒ»Ð©ÖøÃûµÄcms£¬ÂÛ̳
£¬blog³ÌÐò£¬ºÜÉÙµÄÈËÔÚ¶ÔÄÇЩ²»³öÃûµÄ³ÌÐò×ö°²
È«¼ì²â£¬¶ÔÓÚÔ½À´Ô½¶àµÄphp³ÌÐòÔ±
ºÍÕ¾³¤À´Ëµ£¬³ýÁËÒÀ¿¿·þÎñÆ÷
µÄ±¤ÀÝÉèÖÃÍ⣬php³ÌÐò±¾ÉíµÄ°²È«¶àÉÙÄã×ܵö®
µã°É¡£
¡¡¡¡ÓÐÈË˵ÄãÃÇ×öphp°²È«Î޷ǾÍÊǸã¸ã×¢ÈëºÍ¿çվʲôʲôµÄ£¬´ó´íÌØ´í£¬Èç¹ûÕâÑùµÄ»°£¬Ò»¸ömagic_quotes_gpc»òÕß·þÎñÆ÷ÀïµÄһЩ°²È«Éè
ÖþÍÈÃÎÒÃÇȫû»î·ÁË£º(¡£ÎÒ½ñÌìҪ˵µÄ²»ÊÇ×¢È룬²»ÊÇ¿çÕ¾£¬¶øÊÇ´æÔÚÓÚphp³ÌÐòÖеÄһЩ°²È«Ï¸½ÚÎÊÌâ¡£OK!ÇÐÈëÕýÌâ¡£
¡¡¡¡×¢ÒâһЩº¯ÊýµÄ¹ýÂËÓÐЩº¯ÊýÔÚ³ÌÐòÖÐÊǾ³£Ê¹Óõģ¬Ïñ
include()£¬require()£¬fopen()£¬fwrite()£¬readfile()£¬unlink()£¬eval()ÒÔ¼°ËüÃǵıäÌ庯Êý
µÈµÈ¡£ÕâЩº¯Êý¶¼ºÜʵÓã¬ÊµÓò ......
ǰ¶Îʱ¼ä¿´µ½ÓÐÈËÓÃħÊÞÀ´½âÊÍÉè¼ÆÄ£Ê½£¬¸Ð¾õºÜÓÐÒâ˼£¬ÓÚÊÇÎÒ°ÑËü¸ÄÁ˸ģ¬ÓÖÌí¼ÓÁËЩÉè¼ÆÄ£Ê½ÄÚÈÝ£¬½ñÌì·¢³öÀ´¡£ÓÐЩµØ·½½è¼øÁËǰÈ˵ÄÄÚÈÝ£¬Ã»ÓÐ×¢Ã÷£¬Çë
ǰÈ˲»Òª¼û¹Ö°¡¡£
ÕâÀïÓôó¼Ò¸ÐÐËȤµÄħÊÞ3À´ÌÖÂÛPHPµÄ¼¸ÖÖ³£¼ûµÄÉè¼ÆÄ£Ê½£ºµ¥¼þģʽ¡¢²ßÂÔģʽ¡¢¹¤³§Ä£Ê½¡¢¹Û²ìÕßģʽ¡£½ñÌì¾Í½²ÕâËĸö°É£¬ÒÔºó¼ÌÐø¡£
ÕâЩÉè¼ÆÄ£Ê½£¬¶¼ÊÇÕë¶ÔÃæÏò¶ÔÏóÀ´ËµµÄ£¬ËùÒÔ¶¼ÓÃPHP5£¬ÁíÍâÔÚÕâÀïÎÒÏë˵µÄÊÇPHP4´Ó2008Äê8ÔÂ8ÈÕ£¨ÎҼǵÃÊǺͱ±¾©°ÂÔË»áͬһÌ죬û²éÖ¤£¬
ºÇºÇ£©µÄʱºò¹Ù·½¾Í·¢ÁË×îºóÒ»¸öPHP4µÄ²¹¶¡£¬ÕâÒâζÕâPHP4µÄʱ´úÒѾÖսᣬËùÒÔ£¬ÎÒ½¨Òé´ó¼ÒÏÖÔھͱðÀíPHP4°É£¬¾ÍÒÔPHP5À´Ëµ°É¡£
Ò»¡¢µ¥¼þģʽ£º
ÎÊÌâµÄÌá³ö£º
ijЩӦÓóÌÐò×ÊÔ´ÊǶÀÕ¼µÄ£¬ÒòΪÓÐÇÒÖ»ÓÐÒ»¸ö´ËÀàÐ͵Ä×ÊÔ´¡£ÀýÈ磬ͨ¹ýÊý¾Ý¿â
¾ä±úµ½Êý¾Ý¿âµÄÁ¬½ÓÊǶÀÕ¼µÄ¡£ÄúÏ£ÍûÔÚÓ¦ÓóÌÐòÖÐ
¹²ÏíÊý¾Ý¿â¾ä±ú£¬ÒòΪÔÚ±£³ÖÁ¬½Ó´ò¿ª»ò¹Ø±Õʱ£¬ËüÊÇÒ»ÖÖ¿ªÏú£¬ÔÚ»ñÈ¡µ¥¸öÒ³ÃæµÄ¹ý³ÌÖиüÊÇÈç´Ë¡£
ÎÊÌâµÄ½â¾ö£º
ÄÇôÏÂÃæÎÒÃǾͿªÊ¼ÍæÄ§ÊÞ°É¡£Ê×ÏÈË«»÷war3.exe£¬Õâʱºò¾Í¿ªÊ¼ÔËÐÐħÊÞÁË¡£ÎÒÃÇÓôúÂë
À´ÊµÏÖ°É¡£¡£
<?php
class War3
{
public function __construct()
{
echo "War3 is Running.&q ......