PHP保护数据库的具体代码示例_PHP教程

php中文网
发布: 2016-07-15 13:29:12
原创
1091人浏览过

因为数据库管理不善导致数据丢失,为自己带来损失的例子不再少数。我们这次就要讲到下面代码显示了运行 sql 语句的示例脚本。在本例中,sql 语句是允许相同攻击的动态语句。此表单的所有者可能认为表单是安全的,因为他们已经把列名限定为选择列表。但是,代码疏忽了关于表单欺骗的最后一个习惯 — 代码将选项限定为下拉框并不意味着其他人不能够发布含有所需内容的表单(包括星号 [*])。

立即学习PHP免费学习笔记(深入)”;

芦笋演示
芦笋演示

一键出成片的录屏演示软件,专为制作产品演示、教学课程和使用教程而设计。

芦笋演示 34
查看详情 芦笋演示

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

<OL class=dp-xml><LI class=alt><SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>html</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>   </SPAN></SPAN><LI class=""><SPAN></SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>head</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>   </SPAN></SPAN><LI class=alt><SPAN></SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>title</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>SQL Injection Example</SPAN><STRONG><FONT color=#006699><SPAN class=tag></</SPAN><SPAN class=tag-name>title</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>   </SPAN></SPAN><LI class=""><SPAN></SPAN><STRONG><FONT color=#006699><SPAN class=tag></</SPAN><SPAN class=tag-name>head</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>   </SPAN></SPAN><LI class=alt><SPAN></SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>body</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>   </SPAN></SPAN><LI class=""><SPAN></SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>form</SPAN></FONT></STRONG><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>id</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"myFrom"</FONT></SPAN><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>action</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"<?php echo $_SERVER['PHP_SELF']; ?>"</FONT></SPAN><SPAN>   </SPAN></SPAN><LI class=alt><SPAN>    </SPAN><SPAN class=attribute><FONT color=#ff0000>method</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"post"</FONT></SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>   </SPAN></SPAN><LI class=""><SPAN></SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>div</SPAN><SPAN class=tag>></SPAN><SPAN class=tag><</SPAN><SPAN class=tag-name>input</SPAN></FONT></STRONG><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>type</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"text"</FONT></SPAN><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>name</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"account_number"</FONT></SPAN><SPAN>   </SPAN></SPAN><LI class=alt><SPAN>    </SPAN><SPAN class=attribute><FONT color=#ff0000>value</FONT></SPAN><SPAN>="</SPAN><STRONG><FONT color=#006699><SPAN class=tag><?</SPAN><SPAN class=tag-name>php</SPAN></FONT></STRONG><SPAN> echo(isset($_POST['account_number']) ?    </SPAN></SPAN><LI class=""><SPAN>        $_POST['account_number'] : ''); </SPAN><SPAN class=tag><STRONG><FONT color=#006699>?></FONT></STRONG></SPAN><SPAN>" </SPAN><SPAN class=tag><STRONG><FONT color=#006699>/></FONT></STRONG></SPAN><SPAN>   </SPAN></SPAN><LI class=alt><SPAN></SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>select</SPAN></FONT></STRONG><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>name</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"col"</FONT></SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>   </SPAN></SPAN><LI class=""><SPAN></SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>option</SPAN></FONT></STRONG><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>value</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"account_number"</FONT></SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>Account Number</SPAN><STRONG><FONT color=#006699><SPAN class=tag></</SPAN><SPAN class=tag-name>option</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>   </SPAN></SPAN><LI class=alt><SPAN></SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>option</SPAN></FONT></STRONG><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>value</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"name"</FONT></SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>Name</SPAN><STRONG><FONT color=#006699><SPAN class=tag></</SPAN><SPAN class=tag-name>option</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>   </SPAN></SPAN><LI class=""><SPAN></SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>option</SPAN></FONT></STRONG><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>value</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"address"</FONT></SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>Address</SPAN><STRONG><FONT color=#006699><SPAN class=tag></</SPAN><SPAN class=tag-name>option</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>   </SPAN></SPAN><LI class=alt><SPAN></SPAN><STRONG><FONT color=#006699><SPAN class=tag></</SPAN><SPAN class=tag-name>select</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>   </SPAN></SPAN><LI class=""><SPAN></SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>input</SPAN></FONT></STRONG><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>type</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"submit"</FONT></SPAN><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>value</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"Save"</FONT></SPAN><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>name</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"submit"</FONT></SPAN><SPAN> </SPAN><STRONG><FONT color=#006699><SPAN class=tag>/></SPAN><SPAN class=tag></</SPAN><SPAN class=tag-name>div</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>   </SPAN></SPAN><LI class=alt><SPAN></SPAN><STRONG><FONT color=#006699><SPAN class=tag></</SPAN><SPAN class=tag-name>form</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>   </SPAN></SPAN><LI class=""><SPAN></SPAN><STRONG><FONT color=#006699><SPAN class=tag><?</SPAN><SPAN class=tag-name>php</SPAN></FONT></STRONG><SPAN>   </SPAN></SPAN><LI class=alt><SPAN>if ($_POST['submit'] == 'Save') {   </SPAN><LI class=""><SPAN>    /* do the form processing */   </SPAN><LI class=alt><SPAN>    $</SPAN><SPAN class=attribute><FONT color=#ff0000>link</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>mysql_connect</FONT></SPAN><SPAN>('hostname', 'user', 'password') or    </SPAN></SPAN><LI class=""><SPAN>        die ('Could not connect' . mysql_error());   </SPAN><LI class=alt><SPAN>    mysql_select_db('test', $link);   </SPAN><LI class=""><SPAN>           </SPAN><LI class=alt><SPAN>        $</SPAN><SPAN class=attribute><FONT color=#ff0000>col</FONT></SPAN><SPAN> = $_POST['col'];   </SPAN></SPAN><LI class=""><SPAN> </SPAN><LI class=alt><SPAN>    $</SPAN><SPAN class=attribute><FONT color=#ff0000>select</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>"SELECT "</FONT></SPAN><SPAN> . $col . " FROM account_data WHERE </SPAN><SPAN class=attribute><FONT color=#ff0000>account_number</FONT></SPAN><SPAN> = "    </SPAN></SPAN><LI class=""><SPAN>        . $_POST['account_number'] . ";" ;   </SPAN><LI class=alt><SPAN>    echo '</SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>p</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>' . $select . '</SPAN><STRONG><FONT color=#006699><SPAN class=tag></</SPAN><SPAN class=tag-name>p</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>';   </SPAN></SPAN><LI class=""><SPAN> </SPAN><LI class=alt><SPAN>    $</SPAN><SPAN class=attribute><FONT color=#ff0000>result</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>mysql_query</FONT></SPAN><SPAN>($select) or die('</SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>p</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>' . mysql_error() . '</SPAN><STRONG><FONT color=#006699><SPAN class=tag></</SPAN><SPAN class=tag-name>p</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>');   </SPAN></SPAN><LI class=""><SPAN> </SPAN><LI class=alt><SPAN>    echo '</SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>table</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>';   </SPAN></SPAN><LI class=""><SPAN>    while ($</SPAN><SPAN class=attribute><FONT color=#ff0000>row</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>mysql_fetch_assoc</FONT></SPAN><SPAN>($result)) {   </SPAN></SPAN><LI class=alt><SPAN>        echo '</SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>tr</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>';   </SPAN></SPAN><LI class=""><SPAN>        echo '</SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>td</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>' . $row[$col] . '</SPAN><STRONG><FONT color=#006699><SPAN class=tag></</SPAN><SPAN class=tag-name>td</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>';   </SPAN></SPAN><LI class=alt><SPAN>        echo '</SPAN><STRONG><FONT color=#006699><SPAN class=tag></</SPAN><SPAN class=tag-name>tr</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>';   </SPAN></SPAN><LI class=""><SPAN>    }   </SPAN><LI class=alt><SPAN>    echo '</SPAN><STRONG><FONT color=#006699><SPAN class=tag></</SPAN><SPAN class=tag-name>table</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>';   </SPAN></SPAN><LI class=""><SPAN> </SPAN><LI class=alt><SPAN>    mysql_close($link);   </SPAN><LI class=""><SPAN>}   </SPAN><LI class=alt><SPAN></SPAN><SPAN class=tag><STRONG><FONT color=#006699>?></FONT></STRONG></SPAN><SPAN>   </SPAN></SPAN><LI class=""><SPAN></SPAN><STRONG><FONT color=#006699><SPAN class=tag></</SPAN><SPAN class=tag-name>body</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>   </SPAN></SPAN><LI class=alt><SPAN></SPAN><STRONG><FONT color=#006699><SPAN class=tag></</SPAN><SPAN class=tag-name>html</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>  </SPAN></SPAN></LI></OL>
登录后复制

因此,要形成PHP保护数据库的习惯,请尽可能避免使用动态 SQL 代码。如果无法避免动态 SQL 代码,请不要对列直接使用输入。下面则显示了除使用静态列外,还可以向帐户编号字段添加简单验证例程以确保输入值不是非数字值。

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

立即学习PHP免费学习笔记(深入)”;

<OL class=dp-xml><LI class=alt><SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>html</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>   </SPAN></SPAN><LI class=""><SPAN></SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>head</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>   </SPAN></SPAN><LI class=alt><SPAN></SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>title</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>SQL Injection Example</SPAN><STRONG><FONT color=#006699><SPAN class=tag></</SPAN><SPAN class=tag-name>title</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>   </SPAN></SPAN><LI class=""><SPAN></SPAN><STRONG><FONT color=#006699><SPAN class=tag></</SPAN><SPAN class=tag-name>head</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>   </SPAN></SPAN><LI class=alt><SPAN></SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>body</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>   </SPAN></SPAN><LI class=""><SPAN></SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>form</SPAN></FONT></STRONG><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>id</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"myFrom"</FONT></SPAN><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>action</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"<?php echo $_SERVER['PHP_SELF']; ?>"</FONT></SPAN><SPAN>   </SPAN></SPAN><LI class=alt><SPAN>    </SPAN><SPAN class=attribute><FONT color=#ff0000>method</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"post"</FONT></SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>   </SPAN></SPAN><LI class=""><SPAN></SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>div</SPAN><SPAN class=tag>></SPAN><SPAN class=tag><</SPAN><SPAN class=tag-name>input</SPAN></FONT></STRONG><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>type</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"text"</FONT></SPAN><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>name</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"account_number"</FONT></SPAN><SPAN>   </SPAN></SPAN><LI class=alt><SPAN>    </SPAN><SPAN class=attribute><FONT color=#ff0000>value</FONT></SPAN><SPAN>="</SPAN><STRONG><FONT color=#006699><SPAN class=tag><?</SPAN><SPAN class=tag-name>php</SPAN></FONT></STRONG><SPAN> echo(isset($_POST['account_number']) ?    </SPAN></SPAN><LI class=""><SPAN>        $_POST['account_number'] : ''); </SPAN><SPAN class=tag><STRONG><FONT color=#006699>?></FONT></STRONG></SPAN><SPAN>" </SPAN><SPAN class=tag><STRONG><FONT color=#006699>/></FONT></STRONG></SPAN><SPAN> </SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>input</SPAN></FONT></STRONG><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>type</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"submit"</FONT></SPAN><SPAN>   </SPAN></SPAN><LI class=alt><SPAN>    </SPAN><SPAN class=attribute><FONT color=#ff0000>value</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"Save"</FONT></SPAN><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>name</FONT></SPAN><SPAN>=</SPAN><SPAN class=attribute-value><FONT color=#0000ff>"submit"</FONT></SPAN><SPAN> </SPAN><STRONG><FONT color=#006699><SPAN class=tag>/></SPAN><SPAN class=tag></</SPAN><SPAN class=tag-name>div</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>   </SPAN></SPAN><LI class=""><SPAN></SPAN><STRONG><FONT color=#006699><SPAN class=tag></</SPAN><SPAN class=tag-name>form</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>   </SPAN></SPAN><LI class=alt><SPAN></SPAN><STRONG><FONT color=#006699><SPAN class=tag><?</SPAN><SPAN class=tag-name>php</SPAN></FONT></STRONG><SPAN>   </SPAN></SPAN><LI class=""><SPAN>function isValidAccountNumber($number)    </SPAN><LI class=alt><SPAN>{   </SPAN><LI class=""><SPAN>    return is_numeric($number);   </SPAN><LI class=alt><SPAN>}   </SPAN><LI class=""><SPAN>if ($_POST['submit'] == 'Save') {   </SPAN><LI class=alt><SPAN> </SPAN><LI class=""><SPAN>    /* Remember habit #1--validate your data! */   </SPAN><LI class=alt><SPAN>    if (isset($_POST['account_number']) &   </SPAN><LI class=""><SPAN>    isValidAccountNumber($_POST['account_number'])) {   </SPAN><LI class=alt><SPAN> </SPAN><LI class=""><SPAN>        /* do the form processing */   </SPAN><LI class=alt><SPAN>        $</SPAN><SPAN class=attribute><FONT color=#ff0000>link</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>mysql_connect</FONT></SPAN><SPAN>('hostname', 'user', 'password') or   </SPAN></SPAN><LI class=""><SPAN>        die ('Could not connect' . mysql_error());   </SPAN><LI class=alt><SPAN>        mysql_select_db('test', $link);   </SPAN><LI class=""><SPAN> </SPAN><LI class=alt><SPAN>        $</SPAN><SPAN class=attribute><FONT color=#ff0000>select</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>sprintf</FONT></SPAN><SPAN>("SELECT account_number, name, address " .   </SPAN></SPAN><LI class=""><SPAN>        " FROM account_data WHERE </SPAN><SPAN class=attribute><FONT color=#ff0000>account_number</FONT></SPAN><SPAN> = %s;",   </SPAN></SPAN><LI class=alt><SPAN>        mysql_real_escape_string($_POST['account_number']));   </SPAN><LI class=""><SPAN>        echo '</SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>p</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>' . $select . '</SPAN><STRONG><FONT color=#006699><SPAN class=tag></</SPAN><SPAN class=tag-name>p</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>';   </SPAN></SPAN><LI class=alt><SPAN>        $</SPAN><SPAN class=attribute><FONT color=#ff0000>result</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>mysql_query</FONT></SPAN><SPAN>($select) or die('</SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>p</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>' . mysql_error() . '</SPAN><STRONG><FONT color=#006699><SPAN class=tag></</SPAN><SPAN class=tag-name>p</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>');   </SPAN></SPAN><LI class=""><SPAN> </SPAN><LI class=alt><SPAN>        echo '</SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>table</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>';   </SPAN></SPAN><LI class=""><SPAN>        while ($</SPAN><SPAN class=attribute><FONT color=#ff0000>row</FONT></SPAN><SPAN> = </SPAN><SPAN class=attribute-value><FONT color=#0000ff>mysql_fetch_assoc</FONT></SPAN><SPAN>($result)) {   </SPAN></SPAN><LI class=alt><SPAN>            echo '</SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>tr</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>';   </SPAN></SPAN><LI class=""><SPAN>            echo '</SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>td</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>' . $row['account_number'] . '</SPAN><STRONG><FONT color=#006699><SPAN class=tag></</SPAN><SPAN class=tag-name>td</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>';   </SPAN></SPAN><LI class=alt><SPAN>            echo '</SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>td</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>' . $row['name'] . '</SPAN><STRONG><FONT color=#006699><SPAN class=tag></</SPAN><SPAN class=tag-name>td</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>';   </SPAN></SPAN><LI class=""><SPAN>            echo '</SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>td</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>' . $row['address'] . '</SPAN><STRONG><FONT color=#006699><SPAN class=tag></</SPAN><SPAN class=tag-name>td</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>';   </SPAN></SPAN><LI class=alt><SPAN>            echo '</SPAN><STRONG><FONT color=#006699><SPAN class=tag></</SPAN><SPAN class=tag-name>tr</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>';   </SPAN></SPAN><LI class=""><SPAN>        }   </SPAN><LI class=alt><SPAN>        echo '</SPAN><STRONG><FONT color=#006699><SPAN class=tag></</SPAN><SPAN class=tag-name>table</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>';   </SPAN></SPAN><LI class=""><SPAN> </SPAN><LI class=alt><SPAN>        mysql_close($link);   </SPAN><LI class=""><SPAN>    } else {   </SPAN><LI class=alt><SPAN>        echo "</SPAN><STRONG><FONT color=#006699><SPAN class=tag><</SPAN><SPAN class=tag-name>span</SPAN></FONT></STRONG><SPAN> </SPAN><SPAN class=attribute><FONT color=#ff0000>style</FONT></SPAN><SPAN>="font-color:red"</SPAN><SPAN class=tag><STRONG><FONT color=#006699>></FONT></STRONG></SPAN><SPAN>" .   </SPAN></SPAN><LI class=""><SPAN>    "Please supply a valid account number!</SPAN><STRONG><FONT color=#006699><SPAN class=tag></</SPAN><SPAN class=tag-name>span</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>";   </SPAN></SPAN><LI class=alt><SPAN> </SPAN><LI class=""><SPAN>    }   </SPAN><LI class=alt><SPAN>}   </SPAN><LI class=""><SPAN></SPAN><SPAN class=tag><STRONG><FONT color=#006699>?></FONT></STRONG></SPAN><SPAN>   </SPAN></SPAN><LI class=alt><SPAN></SPAN><STRONG><FONT color=#006699><SPAN class=tag></</SPAN><SPAN class=tag-name>body</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>   </SPAN></SPAN><LI class=""><SPAN></SPAN><STRONG><FONT color=#006699><SPAN class=tag></</SPAN><SPAN class=tag-name>html</SPAN><SPAN class=tag>></SPAN></FONT></STRONG><SPAN>   </SPAN></SPAN></LI></OL>
登录后复制

在这次PHP保护数据库的例子中还展示了 mysql_real_escape_string() 函数的用法。此函数将正确地过滤您的输入,因此它不包括无效字符。如果您一直依赖于 magic_quotes_gpc,那么需要注意它已被弃用并且将在 PHP V6 中删除。从现在开始应避免使用它并在此情况下编写安全的 PHP 应用程序。此外,如果使用的是 ISP,则有可能您的 ISP 没有启用 magic_quotes_gpc。

最后,在改进的PHP保护数据库示例中,您可以看到该 SQL 语句和输出没有包括动态列选项。使用这种方法,如果把列添加到稍后含有不同信息的表中,则可以输出这些列。如果要使用框架以与数据库结合使用,则您的框架可能已经为您执行了 SQL 验证。确保查阅文档以保证框架的安全性;如果仍然不确定,请进行验证以确保稳妥。即使使用框架进行数据库交互,仍然需要执行其他验证。


www.bkjia.comtruehttp://www.bkjia.com/PHPjc/446396.htmlTechArticle因为数据库管理不善导致数据丢失,为自己带来损失的例子不再少数。我们这次就要讲到 下面代码显示了运行 SQL 语句的示例脚本。在本例...
相关标签:
php
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号