-1
"こんにちは、私はページ上のテキストを編集するためにユーザー名とパスワードを使って1人のユーザーを作ろうとしています;私はテキストを保存するテーブル "save_text";今、次のPHPコードでページにテキストを保存しようとしています;この方法でどのようにポーズが取れているのか教えてください? ob_start()を;:次のdivでコンテンツを編集するには
<?php
require_once 'connect.php';
if (isset($_POST['submit'])){
$dbhost="localhost";
$dbuser="root";
$dbpass="";
$dbname="edit text";
$conn = new mysqli($dbhost, $dbuser, $dbpass, $dbname);
$username = $_POST['username'];
$password = $_POST['password'];
$sql = "SELECT * FROM users WHERE username='$username' and password='$password'";
$result = mysqli_query($conn, $sql) or die(mysqli_error($conn));
$count = mysqli_num_rows($result);
if ($count == 1){
$username = $_POST['username'];
$password = $_POST['password'];
$text = $_POST['text'];
$query = "Insert into save_text (username,password,text) VALUES ('".$username."','".$password."','".$text."')";
$result = mysqli_query($conn, $query);
echo '<div id="section"><section>'.$text.'</section></div>';
}
else {
echo '<div id="section"><section>fail modify text</section></div>';
}
}
?>
あなたのスクリプトは[SQLインジェクション攻撃](http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php)の危険にさらされています。 [Little Bobby Tables](http://bobby-tables.com/)[入力を逃れている場合でも、安全ではありません!](http://stackoverflow.com/questions/5741187/sql-injection-that-gets -around-mysql-real-escape-string)[prepared parameterized statements](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)を使用してください。 –
**プレーンテキストのパスワードを保存しないでください** ** [PHPの組み込み関数](http://php.net/manual/en/function.password-hash.php)**を使用してパスワードセキュリティを処理してください。 5.5未満のPHPバージョンを使用している場合は、password_hash()** [互換性パック(https://github.com/ircmaxell/password_compat)**]を使用できます。あなたが** [パスワードを逃さないでください](** http://stackoverflow.com/q/36628418/1011527)**を確認するか、ハッシュする前に他のクレンジングメカニズムを使用してください。これを行うと、パスワードが変更され、不要な追加のコーディングが発生します。 –
[so]へようこそ!このサイトでは、自分でコードを書くことができます**。 ** [もっと研究をして](// meta.stackoverflow.com/questions/261592)**あなたが問題を抱えていると、あなたが試みたものを投稿することができます** (** stackoverflow.com/help/mcve)を提供しています。私は良い質問と[完璧な質問]を読むことをお勧めします(http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/)。また、[ツアー]を取って** [this](// meta.stackoverflow.com/questions/347937/)**を必ず読んでください。 –