你注意,不是
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、成都微信小程序、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了包河免費(fèi)建站歡迎大家使用!
變量
設(shè)置為null,你可以給變量賦值為字符串‘NULL’,這樣就可以了。明白嗎,你試試
你這樣修改一下
代碼
$min_codtime
=
($_POST['min_codtime']!=null)
?
$_POST['min_codtime']:‘NULL‘;
$exec="INSERT
INTO
expressage
(max_codtime)
values($max_codtime)";
$result
=
mysql_query($exec);
可以用特殊字符串代替,比如$zhi保存到數(shù)據(jù)庫中后,然后取出來,再用變量去替換$zhi這個字符串即可。
你說的只是php代碼中可能會允許你使用注入語句,但是一般來說,網(wǎng)站防注入都是在鏈接數(shù)據(jù)庫的類中加入了轉(zhuǎn)換,也就是說把注入語句的關(guān)鍵字都加上了轉(zhuǎn)義字符。比如你遇到的這種情況,就是被防注入了。
關(guān)于你這個問題:
問:輸入框中的SQL語句應(yīng)該如何寫?
條件:數(shù)據(jù)庫表、字段全已知,輸入框長度不限。
我只能跟你說,你可以在輸入框中加入;,/這種符號,讓語句解析的時候出現(xiàn)問題,讓php把sql語句拼合成兩個或兩個以上。這樣你就可以在第二條語句之后加入你想要執(zhí)行的命令了。
如果這種方法沒有效果,你只能使用溢出的方式來注入!
方法有很多。
我目前會的是php和mysql
例如首先寫一個注冊的前端頁面,有賬號密碼之類的輸入框,然后有一個提交按鈕。
用戶輸入完必要的數(shù)據(jù),點(diǎn)擊提交后,通過事先寫好的php文件把輸入框的輸入依次傳出數(shù)據(jù)庫。(數(shù)據(jù)庫里提前已經(jīng)創(chuàng)建好表了,所以php直接按照賬號,密碼分別把內(nèi)容放進(jìn)去就可以了)
用戶登錄的時候,也是輸入完內(nèi)容后點(diǎn)擊按鈕,這個時候通過php代碼把用戶名提交給數(shù)據(jù)庫進(jìn)行查找,找到匹配的以后再驗(yàn)證密碼。
注意,要先驗(yàn)證用戶名,因?yàn)橛脩裘俏ㄒ坏?,但是密碼有可能有重復(fù)的