0

以下のコードのフォームからリンクされたファイルにより、ページでこのエラーがスローされます。

禁断

このサーバーの /savetodb.php にアクセスする権限がありません。

さらに、ErrorDocument を使用して要求を処理しようとしたときに、404 Not Found エラーが発生しました。

コード:

<div id="form">
<?php
$result = mysql_query("SELECT * FROM textdb WHERE id=1") 
or die(mysql_error());  
$fields = mysql_fetch_assoc($result);
?>
<form action="savetodb.php" method="post">
<p><a href="#">Text from DB One</a><br></p>
<br /><?php echo"<input name=\"one\" type=\"text\" id=\"one\" value=\"" .$fields['one']. "\"/>"; ?>
<br /><br />
<p><a href="#">Text from DB 2</a><br></p><br />
  <?php echo"<input name=\"two\" type=\"text\" id=\"two\" value=\"" .$fields['two']. "\">"; ?>
<br /><br />
<p><a href="#">Text from DB 3</a><br></p><br /><?php echo"<input name=\"three\" type=\"text\" id=\"three\" value=\"" .$fields['three']. "\">"; ?>
<br /><br />
<input name="submit" type="submit" value="Save"></form>
</div>

これを引き起こしている可能性のあるコードを見逃していませんか? ファイルのアクセス許可は 655 に設定されています (私のサーバーの既定値であり、777 は許可されていません)。

フォームはデータベースから編集可能なフィールドにデータをインポートし、[保存] をクリックすると、その情報がデータベースに保存されます。[保存] をクリックすると、ブラウザで禁止エラーが表示されます。

PDOステートメントを使用する必要があることを指摘しないでください。私はまだ学んでいます:/

問題はコードではなく、modsecurity と呼ばれるサーバー プラグインにあります。現在、ホストによって無効にされており、完全に機能しています! 同様のエラーが発生する場合は、ホストに連絡してください。トラブルシューティングの数日を節約できます。

4

3 に答える 3

4

これにはいくつかの考えられる原因があります。

  • ファイル/savetodb.phpが存在しません
  • ファイルのアクセス許可は、Webサーバープロセスがファイルにアクセスすることを許可しません
  • このファイルにアクセスできないように.htaccessまたはvirtualhostを構成しました。
于 2012-09-04T14:29:11.480 に答える
0

エラー404は、ファイルが見つからないことを意味します。

パスが正しいことを確認し、.htaccessの書き換えルールを確認します

于 2012-09-04T14:28:16.070 に答える
0

申し訳ありませんが、フォームに HTML が含まれているため、modsecurity に問題があり、ファイルの動作がブロックされていました。

私のホストが修正した非常に奇妙な問題。

将来誰かが同じ問題を経験した場合に備えて、ここに残しておきます。ご協力いただきありがとうございます!

于 2012-09-04T15:01:15.777 に答える