第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

PHP SQL 錯誤幫助和安全改進

PHP SQL 錯誤幫助和安全改進

PHP
滄海一幻覺 2022-12-23 16:10:56
我的網(wǎng)站上有一些代碼檢查數(shù)據(jù)庫中是否存在輸入字段的輸入值,然后盡可能簡單地輸出結(jié)果。不幸的是,如果發(fā)送了錯誤的值,它不會給我“找不到結(jié)果”。1 - 我該如何解決這個問題?沒有錯誤消息或其他任何內(nèi)容,只有一個白頁。2 - 另一個問題:公眾是否可以使用這種類型的輸入字段檢查來獲取我的數(shù)據(jù)庫登錄憑據(jù),并使用單獨的 search.php 將登錄憑據(jù)放在文件頂部?3 - 我怎樣才能用我的 php 代碼保護這個檢查免受任何主要攻擊?我認為 SQL 注入已經(jīng)被阻止了。謝謝索引.php:<form action="search.php" method="Post">    <input type="text" name="query" />    <input type="submit" value="Search" /></form>搜索.php:<?php$mydatabase=mysqli_connect("localhost", "root", "") or die("Error connecting to database: ".mysql_error());mysqli_select_db($mydatabase, "mydb") or die(mysql_error());$query = $_POST['query']; $min_length = 1;if(strlen($query) >= $min_length){  $query = htmlspecialchars($query);   $query = mysqli_real_escape_string($mydatabase, $query);  $raw_results = mysqli_query($mydatabase, "SELECT * FROM mytable WHERE (`title` LIKE '%".$query."%')") or die("mysql_error()");  while($results = mysqli_fetch_array($raw_results)){    if (empty($results)) {       echo 'No results found';     } else {       echo "<p><h3>".$results['title']."</h3>".$results['name']."</p>";    }  }} else{  echo "Minimum length is ".$min_length;}?>
查看完整描述

1 回答

?
元芳怎么了

TA貢獻1798條經(jīng)驗 獲得超7個贊

問題 1 的答案mysqli_fetch_array
的手冊頁提醒您,如果結(jié)果集中沒有行,它將返回。If gets set to your loop will never run and that is why you never see your No results found消息。您需要在循環(huán)外進行空檢查或?qū)⑵淝袚Q到do-while循環(huán)。NULL$resultsNULLwhilewhile

問題 2 的答案
我不確定我是否完全理解您的要求,但只要您的憑據(jù)位于.php文件內(nèi)的 PHP 標記內(nèi),就沒有人應該能夠公開看到這些。*

*此聲明肯定有例外。最佳做法是為您的憑據(jù)使用環(huán)境變量。至少從一個單獨的文件加載全局變量,以防原始 PHP 文件暴露給用戶。在這種情況下,他們只會看到環(huán)境變量或全局變量,而不是您的實際憑據(jù)。

問題 3 的答案
我認為您使用htmlspecialcharsmysqli_real_escape_string是保護數(shù)據(jù)庫的良好開端,但您確實應該仔細閱讀這些函數(shù)可能帶來的缺點。我傷口建議調(diào)查準備好的陳述。PHP 手冊提供了豐富的信息,但是這個SO Answer也做得很好;如果您錯過了我鏈接到另一個答案的鏈接的答案,您也會發(fā)現(xiàn)它非常有幫助。


查看完整回答
反對 回復 2022-12-23
  • 1 回答
  • 0 關(guān)注
  • 83 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號