女人被狂躁到高潮视频免费无遮挡,内射人妻骚骚骚,免费人成小说在线观看网站,九九影院午夜理论片少妇,免费av永久免费网址

當(dāng)前位置:首頁(yè) > > 充電吧
[導(dǎo)讀]定義和用法mysql_real_escape_string() 函數(shù)轉(zhuǎn)義 SQL 語(yǔ)句中使用的字符串中的特殊字符。下列字符受影響:如果成功,則該函數(shù)返回被轉(zhuǎn)義的字符串。如果失敗,則返回 false。m


定義和用法



mysql_real_escape_string() 函數(shù)轉(zhuǎn)義 SQL 語(yǔ)句中使用的字符串中的特殊字符。


下列字符受影響:


如果成功,則該函數(shù)返回被轉(zhuǎn)義的字符串。如果失敗,則返回 false。


mysql_real_escape_string(string,connection)
參數(shù) 描述
string 必需。規(guī)定要轉(zhuǎn)義的字符串。
connection 可選。規(guī)定 MySQL 連接。如果未規(guī)定,則使用上一個(gè)連接。
本函數(shù)將 string 中的特殊字符轉(zhuǎn)義,并考慮到連接的當(dāng)前字符集,因此可以安全用于 mysql_query()。
提示和注釋


提示:可使用本函數(shù)來(lái)預(yù)防數(shù)據(jù)庫(kù)攻擊。
<?php
$con = mysql_connect("localhost", "hello", "321");
if (!$con)
? {
? die('Could not connect: ' . mysql_error());
? }


// 獲得用戶名和密碼的代碼


// 轉(zhuǎn)義用戶名和密碼,以便在 SQL 中使用
$user = mysql_real_escape_string($user);
$pwd = mysql_real_escape_string($pwd);


$sql = "SELECT * FROM users WHERE
user='" . $user . "' AND password='" . $pwd . "'"


// 更多代碼


mysql_close($con);
?>
數(shù)據(jù)庫(kù)攻擊。本例演示如果我們不對(duì)用戶名和密碼應(yīng)用 mysql_real_escape_string() 函數(shù)會(huì)發(fā)生什么:


<?php
$con = mysql_connect("localhost", "hello", "321");
if (!$con)
? {
? die('Could not connect: ' . mysql_error());
? }


$sql = "SELECT * FROM users
WHERE user='{$_POST['user']}'
AND password='{$_POST['pwd']}'";
mysql_query($sql);


// 不檢查用戶名和密碼
// 可以是用戶輸入的任何內(nèi)容,比如:
$_POST['user'] = 'john';
$_POST['pwd'] = "' OR ''='";


// 一些代碼...


mysql_close($con);
?>
那么 SQL 查詢會(huì)成為這樣:


SELECT * FROM users
WHERE user='john' AND password='' OR ''=''
這意味著任何用戶無(wú)需輸入合法的密碼即可登陸。


預(yù)防數(shù)據(jù)庫(kù)攻擊的正確做法:


<?php
function check_input($value)
{
// 去除斜杠
if (get_magic_quotes_gpc())
? {
? $value = stripslashes($value);
? }
// 如果不是數(shù)字則加引號(hào)
if (!is_numeric($value))
? {
? $value = "'" . mysql_real_escape_string($value) . "'";
? }
return $value;
}


$con = mysql_connect("localhost", "hello", "321");
if (!$con)
? {
? die('Could not connect: ' . mysql_error());
? }


// 進(jìn)行安全的 SQL
$user = check_input($_POST['user']);
$pwd = check_input($_POST['pwd']);
$sql = "SELECT * FROM users WHERE
user=$user AND password=$pwd";


mysql_query($sql);


mysql_close($con);
?>

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

前言sql優(yōu)化是一個(gè)大家都比較關(guān)注的熱門(mén)話題,無(wú)論你在面試,還是工作中,都很有可能會(huì)遇到。如果某天你負(fù)責(zé)的某個(gè)線上接口,出現(xiàn)了性能問(wèn)題,需要做優(yōu)化。那么你首先想到的很有可能是優(yōu)化sql語(yǔ)句,因?yàn)樗母脑斐杀鞠鄬?duì)于代碼來(lái)說(shuō)...

關(guān)鍵字: sql

摘 要:“Apache+php+ MySQL”組成了一套完整的開(kāi)發(fā)B/S架構(gòu)的網(wǎng)絡(luò)信息系統(tǒng)的工具。文中以該套工具開(kāi)發(fā)產(chǎn)品售后服務(wù)管理系統(tǒng)為例,介紹了開(kāi)發(fā)過(guò)程中的技術(shù)難點(diǎn)及解決方法。

關(guān)鍵字: Apache php MySQL 產(chǎn)品售后服務(wù)管理系統(tǒng)

無(wú)論是開(kāi)發(fā)、測(cè)試,還是DBA,都難免會(huì)涉及到數(shù)據(jù)庫(kù)的操作,比如:創(chuàng)建某張表,添加某個(gè)字段、添加數(shù)據(jù)、更新數(shù)據(jù)、刪除數(shù)據(jù)、查詢數(shù)據(jù)等等。

關(guān)鍵字: 數(shù)據(jù)庫(kù) sql

PHP 7.4.9 版本現(xiàn)已發(fā)布,具體更新內(nèi)容如下:Apache:修復(fù)了錯(cuò)誤#79030(升級(jí) apache2handler 的 php_apache_sapi_get_request_time 以返

關(guān)鍵字: php

如果使用美國(guó)服務(wù)器創(chuàng)建網(wǎng)站,則必須在美國(guó)服務(wù)器系統(tǒng)上創(chuàng)建環(huán)境。 今天,我將介紹美國(guó)服務(wù)器Linux系統(tǒng)的工作方式。

關(guān)鍵字: apache Linux php

近日消息,PHP 8.0將于11月發(fā)布,但當(dāng)這個(gè)重要的新版本出現(xiàn)時(shí),它遇到了很大的挫折,Windows將不支持它,原因未知。

關(guān)鍵字: php Windows 微軟

前言 上一篇總結(jié)了Mysql的鎖機(jī)制,通過(guò)讀者的反映和閱讀量顯示,總體還是不錯(cuò)的,感興趣的可以閱讀一下[大廠面試官必問(wèn)的Mysql鎖機(jī)制]。 寫(xiě)了那么多的Mysql文章,有讀者問(wèn)我是不是dba,工作真的需要掌握那么深嗎。...

關(guān)鍵字: sql

2020 年 6 月 8 日,PHP 迎來(lái)了自己的 25 周歲生日。JetBrains 在博客中梳理了該語(yǔ)言自 1995 年誕生以來(lái)的種種歷程,這種語(yǔ)言最初是用 C 語(yǔ)言編寫(xiě)的一組通用網(wǎng)關(guān)接口(C

關(guān)鍵字: php

前言 前幾天有粉絲和我聊到他找工作面試大廠時(shí)被問(wèn)的問(wèn)題,因?yàn)楝F(xiàn)在疫情期間,找工作也特別難找。他說(shuō)面試的題目也比較難,都偏向于一兩年的工作經(jīng)驗(yàn)的面試題。 他說(shuō)在一面的時(shí)候被問(wèn)到Mysql的面試題,索引那塊自己都回答比較滿意...

關(guān)鍵字: sql

? ? ? ? ? ? ? ? ? ? ? ? 我所寫(xiě)的項(xiàng)目是使用Maven開(kāi)發(fā),在pom.xml中添加如下必要依賴: ? ? ? ? 添加com.microsoft.sqlserver的mssql-

關(guān)鍵字: server sql 存儲(chǔ)過(guò)程
關(guān)閉