+ N& b6 X' ?0 ]" N2 ?! T-------------------------------------------------------------------------------- 5 N/ i8 ]5 M. n! k1 h& p2 T5 d1 O X, s7 w7 u
只要我们把参数count 设置大点,那么那执行的时间就会变长。下面我们看看在mysql里执行的效果: $ G2 A+ p% L0 R& f1 F1 {
* K4 D1 t. p4 @. s* amysql> select md5( 'test' ); 4 r$ I; q8 a$ w& F. ?+----------------------------------+ 9 v+ C& X. [! P# u6 q| md5( 'test' ) | $ |& @0 x' p+ p5 J% r4 Z9 q$ |
+----------------------------------+ ! U& J+ d( l& w% I0 f4 k
| 098f6bcd4621d373cade4e832627b4f6 | - E! h' A# |2 N6 r0 D
+----------------------------------+ 4 t- B7 o |6 I( n% k; p3 {1 row in set (0.00 sec) 〈-----------执行时间为0.00 sec 2 i6 O* M; F; } y% m: h
0 m6 w4 P. H# B- o5 v$ Z/ \3 h; m; ^
mysql> select benchmark( 500000, md5( 'test' ) ); 1 |5 K$ n0 \* v% m2 i
+------------------------------------+ $ C: B& h/ l4 O- B' ~| benchmark( 500000, md5( 'test' ) ) | . s+ q4 Q5 d. ^0 W) G+------------------------------------+ ^6 v/ v! V8 W" }8 n# V
| 0 | + H5 o0 z. q& [) R
+------------------------------------+ 7 D9 |) k) {6 c1 row in set (6.55 sec) 〈------------执行时间为6.55 sec% |9 [8 b% a* V4 `8 R' W9 v! ~
: |) |0 p x% J m( q
4 ~9 W/ D. A, F9 ]
由此可以看出使用benchmark执行500000次的时间明显比正常执行时间延长了。 . g5 U1 b) Y9 Y+ W6 v- N2 D0 V" P
1 K4 C: u, Z/ f. T$ d/ z
三.具体例子 * y- D- _6 ]$ a% t* c) a; J5 |$ i, Y, U1 ?; {
首先我们看个简单的php代码:4 F/ l+ S0 _$ w, S: k8 t7 x: |+ x
F$ K' ~2 m' o, X< ?php ! f1 G9 \5 f/ D/ s% C
$servername = "localhost"; % J8 B% Q: ^+ Y
$dbusername = "root"; P V$ |/ n. s4 v' D v) T/ R: L }
$dbpassword = ""; ' a8 Z N2 D* E$dbname = "injection"; 3 F! A. w* P- X: k! U! Q* O
( F$ g/ j, W& N: a) qmysql_connect($servername,$dbusername,$dbpassword) or die ("数据库连接失败"); + f& G1 C e, [, d4 c, K, k- s1 c. {5 q) v1 d' s
$sql = "SELECT * FROM article WHERE articleid=$id"; ) P( V4 E" z3 N' _0 Z; |
$result = mysql_db_query($dbname,$sql); 8 O5 i0 V4 ~6 P, Q$row = mysql_fetch_array($result); ( y6 r1 L' X5 i8 l" j/ V, g ' L( r# F( |. B# a( z1 xif (!$row) + ?( r; T9 o( _3 x4 ~' t" g{ 3 t- I& w' R1 K7 Fexit; 6 T1 I# Q# \, W* x6 W9 c} + C5 s* }8 ^% X$ N; T?> 7 }7 B% }2 \; s, x; u 5 B! x# ]' _8 K
C. y. g" ~; q8 [5 m
数据库injection结构和内容如下:8 G& m, D; _# [! Y& u/ z$ X; e- x9 g/ M
6 t0 G# A% W/ z
# 数据库 : `injection` 1 J. U. Z9 h7 D% w2 s
# : h/ n) D5 @7 z a# X 8 m8 t5 P P* x8 q7 x# -------------------------------------------------------- ; ?7 L2 k3 H$ g& }- R