2016-06-28 4 views
2

私はセッション値を持つ入力を満たしていますので、それはvalue="$session['name']"行くと私はあなたが簡単にvalueを変更することができ、プログラマーのツールを使用して、この入力されていないが編集可能にしたいが、と同じことがreadonly/document.getElementById('inputID').readOnly = true;と入力されます。読み取り専用入力を作りますが、プログラマツールから編集できない

どうすれば編集が「不可能」になるのですか?

+0

画像を使用しますか? – mplungjan

+2

'input'タグ内のものは、クライアント側で編集可能になります.HTMLの中には何もありません。ユーザー入力を信頼できない場合は、代わりにサーバー側に物事を格納する必要があります。 – iainn

+0

@iainnこの場合、最良の解決策は何ですか?セッションは常に異なっているので...しかし、サーバ側でputを行うと 'value'が埋め込まれますので、正方形に戻ります。 – Firmeza

答えて

-4

入力と異なるものを使用することができます。悪い言葉遣い、それ:あなたはすべての場合において

<p><?php echo $session['name'] ?></p> 

段落タグであなたの価値を印刷しようとすることができ

、ユーザーは、彼がPostman

編集などのPOSTリクエストツールを使用して欲しいものは何でも提出することができます私は段落を編集することは不可能だと言ったように見えましたが、それは私が意味するものではありません:)

+1

' document.designMode = "on" 'または' document.querySelector( "p")contentEditable = true ' – AUsr19532

+1

本当ですか? '$(' p ').html('新しいセッション名 ');' – BaBL86

+0

http://i.imgur.com/bhcvZNr.png – Firmeza

1

それはできません。クライアントから受け取ったものはすべて、他の人に置き換えられます。

唯一可能なのは、このフィールドで値を署名するために強力な暗号ハッシュを作成し、コンテンツを受け取った場合にはこのハッシュを満たしません。これを拒否します。

+0

私は理解していますが、あなたは一例を挙げますか?私は少し新しいPHP/javascriptに – Firmeza

0

HTMLでクライアントサイドに表示されるすべてのものは編集できません。

これを防ぐには、サーバー側の値をsessionsに格納するか、他のメカニズムを使用する必要があります。
質問から、あなたはすでにセッションの価値があると思うので、次回の実行でそれを直接使うことができます。

+0

この場合、何が最善の解決策でしょうか?セッションは常に異なっているので...しかし、puttinでサーバサイドは値を埋めるので、正方形に戻ります – Firmeza

+0

すべてのセッションで同じ値を保持したい場合は、データベースに格納するか、サーバ側に1つのファイルを格納します。 –

+0

しかし、この方法を見て、それをすべて実行した後、入力を満たすには 'value =?'権利が必要ですか?だから正方形に戻る1 – Firmeza

関連する問題