我一直只使用JavaScript進行編程,現在我想使用一些數據庫並學習SQL。我想知道,如果它是常見的,安全的態度,在發送Ajax請求的SQL語句,比如像這樣:javaScript中的SQL語句AJAX請求
xhttp= new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
//something
}
};
var sql = 'SELECT * FROM Customers'; //creating SQL statements in JS like this
xhttp.open("GET", "getFromDatabase.php?q="+sql, true);
xhttp.send();
//PHP:
$result = mysqli_query($con,$q);
echo $result;
,而不是保持和生成所有必要的SQL語句在AJAX開放指示的PHP文件中()這樣的:
xhttp= new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
//something
}
};
xhttp.open("GET", "getFromDatabase.php?q=getCustomers", true);
xhttp.send();
//PHP:
if ($q==="getCustomers") {
$sql="SELECT * FROM Customers"; //here are ALL SQL statements
$result = mysqli_query($con,$sql);
echo $result;
}
所有互聯網我讀過了傾向於第二種attitube的教程和樣本,但對我來說 - 誰不知道PHP,並不想了解在這個時候 - 第一種(JS)態度會更容易,僅僅用於學習和測試如何處理數據庫。然後,我可以創建一個簡單的PHP文件,僅用於返回帶有一些數據的JSON和其他所有的JavaScript文件。
這就是你的整個數據庫如何被盜/刪除...不要這樣做...他們需要在PHP ....如果不是任何人都可以運行SQL請求。 – epascarello
被盜或有人打開控制檯並通過「DROP TABLE Customers'語句執行請求 –
由於用戶可以訪問的工具,惡意人員將能夠修改和利用此類代碼,並且您可以獲取數據泄露。 –