0

私は、人々がこのように質問を送信し、回答を得るフォーラムを作成しました。そのため、ユーザーが私が作成したフォームで質問に回答すると、質問のIDを別のphpファイルに送信して、以下のように適切な場所に回答を保存します。

<input type="text" value="<?php echo $id_of_question;?>" style="display:none;"/>

しかし、これはそれを行うためのより安全な方法ではないか、それを行うためのより良い方法があるはずだと思います。だから、私の質問は私の方法が良いか安全かということです。どうすればもっとうまくできますか?私が上でしたことは怠惰な方法だと思います:)ありがとう

4

6 に答える 6

4

何も問題はありませんが、hidden代わりに次を使用してください。

<input type="hidden" name="question_id" value="<?php echo $id_of_question;?>" />
于 2012-09-06T11:26:41.820 に答える
3

input type="hidden"もっと理にかなっていますが、セキュリティに関する限り、それは実際的な違いにはなりません。

ユーザーはフィールドの値を変更できますが、送信された値が正常であることを確認する必要があります。

つまり、存在する質問に対する最も基本的なレベルです。

より複雑な要件がある場合(たとえば、一部の質問が閉じられ、新しい回答を受け入れない場合)、質問も開いていることを変更する必要があります。

ブラウザに特定の値を送信するように強制する方法はありません。すべてのセキュリティをサーバーに適用する必要があります。

于 2012-09-06T11:26:58.233 に答える
1

反対側の値をチェックする限り、セキュリティの問題はありません。少なくとも、値がのように反対側のintであるかどうかをis_int($_GET['id'])確認しています。さらに進んで、それが有効なIDであるかどうかを確認することもできますが、DBにとってはコストがかかります。

それが本当に問題ではない理由は、とにかくIDがURLに含まれる可能性が99%あるためです。したがって、秘密を明かすのとは異なります。

于 2012-09-06T11:37:13.743 に答える
0

textではなくhidden

<input type="hidden" value="<?php echo $id_of_question;?>" />
于 2012-09-06T11:27:06.010 に答える
0

さて、cssよりもhiddenプロパティを使用する方が良いと思います。

<input type="hidden" value="<?php echo $id_of_question;?>" />

私は長い間私のウェブサイトでこれを使用しています。しかし、ええ、いくつかのより良い方法があるかもしれません。

于 2012-09-06T11:27:28.797 に答える
0

これも使えます

<form name="form" action="formSubmitUrl.php?id=<?php echo $id ;?>">
<input type="hidden" name="id" value="<?php echo $id;" />
</form>

そして、uは投稿をチェックして、フォームの値を取得できます。

于 2012-09-06T11:31:55.950 に答える