[ת] ÃæÏò PHP ¿ª·¢ÈËÔ±µÄ CouchDB »ù´¡ÖªÊ¶
Thomas Myer, ¸ºÔðÈË, Triple Dog Dare Media
Thomas Myer ÊÇÒ»Ãû¹ËÎÊ¡¢×÷¼ÒºÍ½²Ê¦£¬¾ÓסÔÚ Austin¡£Ëû´´Á¢ÁË Triple Dog Dare Media ²¢ÔÚ Twitter ÉÏÒÔ @myerman ׫д²©ÎÄ¡£
¼ò½é£º ×÷Õß Thomas Myer Ïò×ÊÉî PHP ¿ª·¢ÈËÔ±½²ÊöÈçºÎ°Ñ CouchDB Ìí¼Óµ½ËûÃǵļ¼Êõ¹¤¾ßÏäÖС£
Èç¹ûÄúÊÇλµäÐ굀 PHP ¿ª·¢ÈËÔ±£¬¾Í²»ÄÑͨ¹ýÒÔÍùµÄÏîÄ¿µÃµ½ÕâÑùÒ»¸ö½áÂÛ£ºÔÚ¶àÊý£¨Èç¹û²»ÊÇÈ«²¿£©Çé¿öÏ£¬ÎªÁ˽øÐж¯Ì¬Êý¾Ý´¦Àí£¬Äú¶¼»áÈà PHP ÓëÊý¾Ý¿âºó¶Ë½øÐжԻ°£»¶øÔÚÕâЩʵÀýÖУ¬99% µÄÇé¿öÏÂʹÓõͼÊÇ MySQL¡£
Èç½ñ£¬Ê¹ÓùØÏµÐÍÊý¾Ý¿âÎ޿ɺñ·Ç¡£Èç¹ûËù´¦ÀíµÄÊý¾Ý½á¹¹¸´ÔÓ£¬²¢¾ßÓжàÖÖ¹ØÏµ£¬ÄÇôÕâô×öÊǺܺÏÀíµÄ¡£Äú¿ÉÒÔ˳ÀûµØ£¨»òÊDz»Ì«Ë³ÀûµØ£¬È¡¾öÓÚÄú¶Ô SQL µÄÊìϤ³Ì¶È£©½øÐжÔģʽ¡¢Êý¾Ý¹ØÏµ¡¢±íµÈµÈµÄ´¦Àí¡£
²»¹ý£¬ÄúËù´ÓʵÄÏîÄ¿ÓÐʱҲ»áÈÃÄú²»¾Òâ¼äÐÄÉúÒÉÎÊ£º“ΪʲôÎÒÒª×öËùÓÐÕâЩ¹¤×÷£¿” ÄúËù´ÓʵÄÕâ¸öÏîÄ¿°üº¬ÁËһЩ¼òµ¥µÄ»òÄÑÒÔÔ¤²âµÄÊý¾Ý — ÔÚ²»Í¬µÄÈÕ×Ó»ñµÃµÄÊý¾Ý×ֶοÉÄܲ»Í¬ÉõÖÁÊÂÎñÖ®¼äµÄÊý¾Ý×ֶζ¼²»¾¡Ïàͬ¡£ÈôÊÇ´´½¨Ò»¸öģʽÀ´Ô¤²â½«»á³öÏÖʲôÊý¾Ý×ֶΣ¬½á¹ûºÜ¿ÉÄÜ»áµÃµ½ÄÚº¬´óÁ¿¿Õ×ֶεıí»ò´óÁ¿µÄÓ³Éä±í¡£
³£ÓÃËõÂÔÓï
Ajax£ºÒì²½ JavaScript + XML
API£ºÓ¦ÓóÌÐò±à³Ì½Ó¿Ú
GUID£ºÈ«¾ÖΩһ±êʾ·û
HTTP£º³¬Îı¾±ê¼ÇÓïÑÔ
JSON£ºJavaScript ¶ÔÏó×¢ÊÍ
REST£º¾ßÏó״̬´«Êä
SQL£º½á¹¹»¯²éѯÓïÑÔ
UUID£ºÍ¨ÓÃΩһ±êʶ·û
¶ÔÓÚÕâЩÏîÄ¿£¬ÄúÐèÒª²ÉÓÃÒ»ÖÖ²»Í¬µÄ·½Ê½ — ²»Éæ¼°¹ØÏµÐÍÊý¾Ý¿â¡£ÔÚÕâЩÇé¿öÏ£¬ÄúÐèÒªµÄÊÇÒ»¸ö»ùÓÚÎĵµµÄ¡¢Ã»ÓÐģʽµÄ¡¢¾ßÓÐ±âÆ½µØÖ·¿Õ¼äµÄÌØ±ðÊý¾Ý¿â¡£¼òÑÔÖ®£¬ÄúÐèÒª Apache CouchDB¡£
ʲôÊÇ CouchDB£¿
CouchDB ÊÇ£¨¸ù¾Ý Apache CouchDB ÍøÕ¾£©£º
Ò»¸öÎĵµÊý¾Ý¿â·þÎñÆ÷£¬¿Éͨ¹ý RESTful JSON API ·ÃÎÊ¡£
ÎªÌØÊâÄ¿µÄ¶øÉè¼Æ£¬ÎÞģʽ£¬¾ßÓÐ±âÆ½µØÖ·¿Õ¼ä¡£
·Ö²¼Ê½µÄ¡¢ÌØÐԷḻ¡¢¾ß±¸Ë«Ïò³åÍ»¼ì²â¼°¹ÜÀíµÄÔöÁ¿¸´ÖÆ¡£
¿É²éѯ¡¢¿ÉË÷Òý¡¢¾ßÓÐÒ»¸öÃæÏò±íµÄ±¨±íÒýÇæ£¬Ê¹Óà JavaScript ×÷ΪÒýÇæµÄ²éѯÓïÑÔ¡£
ÕâÒâζ×Å£¬Äú¿ÉÒÔ´´½¨Ò»¸öÄܹ»½ÓÊÜ JSON ÎĵµµÄ CouchDB Êý¾Ý¿â¡£Ã¿¸öÎĵµ¾ùÓÐÒ»¸öΩһµÄÐÞ¶© ID ºÍ×ÔÉí½á¹¹£¬¶øÇÒËùÓÐÎĵµ¾ù´æ´¢ÓÚͬһ¸ö±âƽµÄ¼¯ºÏÄÚ¡£ÀýÈ磬¼ÙÉèÄúÉèÖÃÁËÒ»¸ö¼òÀú¼¯¡£µÚÒ»¸ö¼òÀú¾ßÓеÄ×ֶΰüÀ¨£ºÃû¡¢ÐÕ¡¢µç»°ºÅÂë¡¢µç×ÓÓʼþµØÖ·¡¢Twitter ÕÊ»§¡¢Ìس¤ÒÔ¼°ÏêϸµÄ¹¤×÷¾Àú¡£¶øµÚ¶þ¸ö¼òÀúÔòÖ»ÓÐÃû¡¢ÐÕ¡¢µç×ÓÓʼþµØÖ·ÒÔ¼°Ò»¸ö¼ò¶ÌµÄ¹¤×÷¾Àú¡£ÕâÖÖ²îÒì×
Ïà¹ØÎĵµ£º
¸Ã³ÌÐòûÓÐÓÅ»¯ Ö»ÊÇ×îÔʼµÄ³ÌÐò ¿ÉÒÔ½«ÆäÓëflash½áºÏÆðÀ´£¡
Óëflash½áºÏÆðÀ´¾ÍÊǽ«phpµÃµ½µÄµØÖ·ºÍÇøÓò ´òÓ¡³öÀ´ÔÙ·µ»Ø¸öflash¶ËÕâô¼òµ¥
<?php
$getIP="218.11.140.23"; // ÕâÀïÊÇ×Ô¼ºËæ±ãдµÄÒ»¸öip ʵ¼ÊʱÄ㻹Ҫͨ¹ý³ÌÐòµÃµ½Õâ¸öip
//Ö»¿ªÊ¼Ê±²éǰÈý¶Î
$subIPs=explode(".",$getIP);
$subIP=$sub ......
¶ÔÓڽű¾°²È«Õâ¸ö»°ÌâºÃÏñÓÀԶûÍêûÁË£¬Èç¹ûÄã¾³£µ½¹úÍâµÄ¸÷ÖÖ¸÷ÑùµÄbugtraqÉÏ£¬Äã»á·¢ÏÖÓÐÒ»°ëÒÔÉ϶¼ºÍ½Å±¾Ïà¹Ø£¬ÖîÈçSQL
injection£¬XSS£¬Path Disclosure£¬Remote commands
executionÕâÑùµÄ×ÖÑ۱ȱȽÔÊÇ£¬ÎÒÃÇ¿´ÁËÖ®ºóµÄÓÃ;ÄѵÀ½ö½öÊÇ×¥È⼦?¶ÔÓÚÎÒÃÇÏë×öweb°²È«µÄÈËÀ´Ëµ£¬×îºÃ¾ÍÊÇÄÃÀ´Ñ§Ï°£¬¿ÉÊÇÍòÎï×¥¸ùÔ´£¬ÎÒà ......
ÓÃPHPʵÏÖ½ø¶ÈÌõЧ¹û¡£
<?php
set_time_limit(0);
echo '<h2>ÕýÔÚ°²×°£¬ÇëÉÔºó...</h2>',
'<div style="border:1px solid #000;width:500px;"><div id="progress_bar">loading...</div></div>';
for($i=1;$i<=100;$i++){
$width = '500';
......
PHPµÄÓŵãÊǼòµ¥ÊµÓá£ÓÃËüÀ´Ð´Ò»Ð©½Å±¾£¬»òÕßÊÇwebservice¡¢Êý¾Ý¿âÀàµÄһЩ·ÃÎÊ£¬È·ÊµÊǺܼòµ¥·½±ã¡£
µ«ËüÓÐÒ»¸öºÜ´óµÄÎÊÌ⣬¾ÍÊÇÄÚ´æµÄ»ØÊÕÎÊÌâ¡£¸ù¾ÝʹÓõľÑé¾õµÃÊǼ¸ºõÊÇûÓлØÊÕ¡£±ÈÈç½âÎöÒ»¸ö1°ÙÕ×µÄXMLÎļþ£¬ÄÚ´æÊ¹ÓÃÄܵ½1G¶à£¬¶øÇÒ»¹²»ÊÍ·Å¡£
ËùÒÔÓÃphpдºǫ́³ÌÐò£¬Ò»¶¨²»Òª×ö³ÉËÀÑ»·µÄ£¬ÖÁÉÙÊǹýÒ»¶Îʱ¼äÍ˳ö ......
<?php
/**
* PHP100.com - ¸öÈ˸оõ·Ç³£¼òµ¥£¬Ö»ÒªÓеãPHP»ù´¡µÎÈ˶¼Ó¦¸ÃÄÜ¿´¶®~~
* Apache2 + PHP5.0
* Version:1.0
* ͬʱ¸ÐлPHP100ËùÓеÄÐÖµÜÃÇ
* ——————————————&m ......