0
を認証するために、このPHPコードに間違っているところでは、PHPコードであることを理解していない:私は、ユーザー
<?php
if(isset($_POST['submit']) && (trim($_POST['submit']) == "Login")){
if(!isset($_POST['username']) || $_POST['username']==""){
echo "Attenzione, inserire l' username.";
}else{
require_once("dbConnection.php");
$db_handle = new DBConnection();
$query = "INSERT INTO studente (Nome, Cognome, Matricola, Username, Codice)
SELECT Nome, Cognome, Matricola, Username FROM studenti_in_sessione WHERE
studenti_in_sessione.Username = '" . $_POST["username"] . "'";
$result = $db_handle->insertQuery($query);
if(!empty($result)){
echo "
<script type=\"text/javascript\">
swal({
title: \'Mail inviata\',
text: \"Arriverà un codice all'indirizzo di posta elettronica istituzionale con le istruzioni per accedere.\",
type: \'success\',
}).then(function() {
document.getElementById(\"popup\").style.display = \"block\";
document.getElementById(\"view\").style.display = \"none\";
})
</script> " ;
}else{
echo "
<script type=\"text/javascript\">
swal({
title: \'Errore\',
text: \"Le credenziali sono sbagliate!\",
type: \'error\',
})
</script> ";
}
}
//$db_handle->disconnectDB();
}
?>
これは私のHTMLフォームです:
<form action="../Slide_upload/database/signIn.php" method="POST">
<label for="username">Username</label>
<br/>
<input type="text" id="username">
<input name="submit" type="submit" value="Login">
テキストは「フォーム」である場合には入力は常に空でない警告メッセージに Form
を返します。おそらく私が変数を間違って書いていて、明らかに間違いがないので、コードを見て、コードを覆いました。
ショートバージョンで
name
属性を忘れてしまった:どこでも。基本的には、そのコードのすべての行に問題または攻撃ベクトルが含まれています。 –http://bobby-tables.com - SQLインジェクションについて学ぶ。あなたのコードは本当に保存されておらず、DBは何の知識もなく数秒でハッキングすることができます。 – Twinfriends
フォーム入力に 'name'属性がありません – iainn