0

次のようなフォームにテキスト入力ボックスまたはテキストエリアを配置します。

?>
<form name="whateverName" action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="post">
<?php
echo "<input type='text' name='l1' size='75' value='". $l1 ."'><input type='submit' name='chls' value='Update'></form>";

単一のphpファイルの下部のhead/html部分の前に投稿変数を処理できるようにします。その部分で、SQL データベースに接続し、insert コマンドまたは update コマンドを使用します。

$dbuser="";
$dbpass="";
$dbname="";
$chandle = mysql_connect("localhost", $dbuser, $dbpass) or die("Connection Failure to Database");
mysql_select_db($dbname, $chandle) or die ($dbname . " Database not found. " . $dbuser);

ユーザーが< > ' のようなものを入れた場合。" `を入力領域またはテキスト領域に入れて更新/挿入ボタンをクリックすると、

403 禁止されたページが表示されます: このサーバーの edit.php にアクセスする権限がありません。さらに、ErrorDocument を使用して要求を処理しようとしたときに、404 Not Found エラーが発生しました。

edit.php はたまたまこのコードが存在するファイルです。

あるホスティング会社から別のホスティング会社に移動しましたが、それでも同じ問題で、何が間違っているのかわかりません。

POST 変数はそのままにしておくことができます。

$sCv1 = $_POST[l1];

または、mysql_real_escape_string でラップすることもできます。

$sCv1 = mysql_real_escape_string($_POST[l1]);

または、それらを htmlspecialchars でラップできます。

$sCv1 = htmlspecialchars($_POST[l1], ENT_QUOTES);

403 Forbidden の表示を妨げる​​ものはないようです。実際の挿入/更新は行われません。ホスティング会社は、彼らとは何の関係もないので、私を助けることはできないと言います.

さらに、別のホスティング会社の別のクライアントでも同様の問題が発生しています。403 Forbidden は表示されませんが、ユーザーは、私がコーディングしたテキスト ボックスに同様の文字を挿入できないようです。上記の同じタイプの文字。ある種のエラーをスローします。

だから私には、最近のコーディングについて私が知らないことがあるに違いなく、誰かが私がやっている方法をブラッシュアップして、私の問題を解決できるかもしれません.

//////UPDATES: edit.php (644) は、public_html (750) にある ce-admin (755) というフォルダー内にあります。アクセス許可に関する質問に答えていますか? 2 つの異なるホスティング会社が、これは私のスクリプトだと言い、私を助けることを拒否しました。このphpファイルは、他のすべてのアカウントで機能し、特定のキー文字 < > ' ; " ` 、入力しないでください。SQL などですべてが更新されます。

4

0 に答える 0