PHP5ÃæÏò¶ÔÏó£ºObject Cloning
PHP4:
<?
$sample1 = new StdClass();
$sample1->name = "Hasin";
$sample2 = $sample1;
$sample2->name = "Afif";
echo $sample1->name;
?>
In PHP4 it works differently; it will output Hasin, as both are different from
each other.
PHP5:
<?
$sample1 = new StdClass();
$sample1->name = "Hasin";
$sample2 = $sample1;
$sample2->name = "Afif";
echo $sample1->name;
?>
The output is Afif
PHP5:
<?
$sample1 = new stdClass();
$sample1->name = "Hasin";
$sample2 =clone $sample1;
$sample2->name = "Afif";
echo $sample1->name;
?>
The output now would be Hasin.
__clone·½·¨µÄʹÓÃ
ĬÈϵØ,ÓÃ__clone·½·¨½«½¨Á¢Ò»¸öÓëÔ¶ÔÏóÓµÓÐÏàͬÊôÐԺͷ½·¨µÄ¶ÔÏó. Èç¹ûÄãÏëÔÚ¿Ë¡ʱ¸Ä±äĬÈϵÄÄÚÈÝ,ÄãÒªÔÚ__cloneÖи²Ð´(ÊôÐÔ»ò·½·¨).
¿Ë¡µÄ·½·¨¿ÉÒÔûÓвÎÊý,µ«Ëüͬʱ°üº¬thisºÍthatÖ¸Õë(thatÖ¸Ïò±»¸´ÖƵĶÔÏó). Èç¹ûÄãÑ¡Ôñ¿Ë¡×Ô¼º,ÄãҪСÐĸ´ÖÆÈκÎÄãÒªÄãµÄ¶ÔÏó°üº¬µÄÐÅÏ¢,´Óthatµ½this. Èç¹ûÄãÓÃ__cloneÀ´¸´ÖÆ. PHP²»»áÖ´ÐÐÈκÎÒþÐԵĸ´ÖÆ,
ÏÂÃæÏÔʾÁËÒ»¸öÓÃϵÁÐÐòÊýÀ´×Ô¶¯»¯¶ÔÏóµÄÀý×Ó:
class ObjectTracker //¶ÔÏó¸ú×ÙÆ÷
{
private static $nextSerial = 0;
private $id;
private $name;
function __construct($name) //¹¹Ô캯Êý
{
$this->name = $name;
$this->id = ++self::$nextSerial;
}
function __clone() //¿Ë¡
{
$this->name = "Clone of $this->name";
$this->id = ++self::$nextSerial;
}
function getId() //»ñÈ¡idÊôÐÔµÄÖµ
{
return($this->id);
}
function getName() //»ñÈ¡nameÊôÐÔµÄÖµ
{
return($this->name);
}
}
$ot = new ObjectTracker("Zeev's Object");
$ot2 = clone$ot;
//Êä³ö: 1 Zeev's Object
print($ot->getId() . " " . $ot->getName() . "
");
//Êä³ö: 2 Clone of Zeev's Object
print($ot2->getId() . " " . $ot2->getName() . "
");
?>
Ïà¹ØÎĵµ£º
1.Èç¹ûÒ»¸ö·½·¨¿É¾²Ì¬»¯£¬¾Í¶ÔËü×ö¾²Ì¬ÉùÃ÷¡£ËÙÂÊ¿ÉÌáÉýÖÁ4±¶¡£
2.echo ±È print ¿ì¡£
3.ʹÓÃechoµÄ¶àÖØ²ÎÊý£¨Òë×¢£ºÖ¸ÓöººÅ¶ø²»ÊǾäµã£©´úÌæ×Ö·û´®Á¬½Ó¡£
4.ÔÚÖ´ÐÐforÑ»·Ö®Ç°È·¶¨×î´óÑ»·Êý£¬²»ÒªÃ¿Ñ»·Ò»´Î¶¼¼ÆËã×î´óÖµ¡£
5.×¢ÏúÄÇЩ²»ÓõıäÁ¿ÓÈÆäÊÇ´óÊý×飬ÒÔ±ãÊÍ·ÅÄÚ´æ¡£
6.¾¡Á¿±ÜÃâʹÓÃ__get£¬__set£¬__autolo ......
PHPÕýÔò±í´ïʽÖ÷ÒªÓÃÓÚ×Ö·û´®µÄģʽ·Ö¸î¡¢Æ¥Åä¡¢²éÕÒ¼°Ìæ»»²Ù×÷¡£Ê¹ÓÃÕýÔò±í´ïʽÔÚijЩ¼òµ¥µÄ»·¾³Ï¿ÉÄÜЧÂʲ»¸ß£¬Òò´ËÈçºÎ¸üºÃµÄʹÓÃPHPÕýÔò±í´ïʽÐèÒª×ۺϿ¼ÂÇ¡£
ÎÒµÄPHPÕýÔòÈëÃÅ£¬ÊÇÆðÔ´ÓÚÍøÉϵÄһƪÎÄÕ£¬ÕâÆªÎÄÕÂÓÉdzÈëÉîµÄ²ûÊöÁËPHPÕýÔò±í´ïʽʹÓõķ½·¨£¬ÎÒ¾õµÃÊÇÒ»¸öºÜºÃµÄÈëÃŲÄÁÏ£¬²»¹ýѧ³É»¹ÊÇÒª¿¿¸öÈË£¬ÔÚʹÓà ......
ÏÈ¿´¿´Ï±ßÕâ¶ÎPHP´úÂë¡£Õâ¶ÎʹÓÃip2longº¯Êý£¬¶Ôͬһ¸öIP½øÐÐת»»¡£µ±È»£¬Ò²ÓÐÈËÈÏΪ58.99.011.1ºÍ058.99.011.1Ëã²»ÉϺϷ¨µÄ
IP£¬ÄǾÍReturn£¬´ËÎĶÔÄãûÓаïÖú¡£
ΪʲôҪʹÓôøÇ°µ¼ÁãµÄip£ºÎªÁËÔÚÊý¾Ý¿âÖвéѯ£¬Õâ¸ö¿ÉÒÔÔÚIP¿âÖж¨Î»µ½ipËù¶ÔÓ¦µÄλÖÃÐÅÏ¢¡£ËäȻûÓÐÕûÐ͵ÄIP²éѯЧÂʸߣ¬µ«±Ï¾¹Ö±¹Û°¡¡£
<?php
ech ......
Php×¢Èë¹¥»÷ÊÇÏÖ½ñ×îÁ÷ÐеĹ¥»÷·½Ê½£¬ÒÀ¿¿ËüÇ¿´óµÄÁé»îÐÔÎüÒýÁ˹ã´óºÚÃÔ¡£
ÔÚÉÏÒ»ÆÚµÄ¡¶php°²È«Óë×¢ÉäרÌâ¡·ÖÐÁÖ.linxÖ÷Òª½²ÊöÁËphp³ÌÐòµÄ¸÷ÖÖ©¶´£¬Ò²½²µ½ÁËphp£«mysql×¢ÈëµÄÎÊÌ⣬¿ÉÊǽ²µÄ×¢ÈëµÄÎÊÌâ±È½ÏÉÙ£¬ÈÃÎÒÃǸоõûÓо¡ÐËÊǰÉ.
OK,ÕâÒ»ÆÚÎÒ½«¸ø´ó¼Ò»ï×Ð×ÐϸϸµÄ´µÒ»´µphp£«mysql×¢È룬һ¶¨ÈÃÄãÂúÔØ¶ø¹éŶ ......
¶ÔÓڽű¾°²È«Õâ¸ö»°ÌâºÃÏñÓÀԶûÍêûÁË£¬Èç¹ûÄã¾³£µ½¹úÍâµÄ¸÷ÖÖ¸÷ÑùµÄbugtraqÉÏ£¬Äã»á·¢ÏÖÓÐÒ»°ëÒÔÉ϶¼ºÍ½Å±¾Ïà¹Ø£¬ÖîÈçSQL
injection£¬XSS£¬Path Disclosure£¬Remote commands executionÕâÑùµÄ×ÖÑ۱ȱȽÔÊÇ£¬ÎÒÃÇ¿´ÁËÖ®ºóµÄÓÃ;ÄѵÀ½ö½öÊÇ×¥È⼦?¶ÔÓÚÎÒÃÇÏë×öweb°²È«µÄÈËÀ´Ëµ£¬×îºÃ¾ÍÊÇÄÃÀ´Ñ§Ï°
£¬¿ÉÊÇÍòÎï×¥¸ùÔ´£¬ÎÒà ......