これが私のコードの要約です:
私の Web サイトは基本的に、特定のテーブルのすべての行のコンテンツをループするだけです。ただし、場合によっては、特定の行から個別の ID を取得する必要があります。非表示の入力は機能しますが、セキュリティ上大きな負担になることはわかっています。非表示の入力から ID を取得したら、それを別のテーブルに挿入する必要があります。ハッカーは、隠された入力の値を単純に変更して、システムにハッキングすることができます。サーバー側でそれを検証する方法が見つかりません。暗号化は役立つかもしれませんが、ハッカーは暗号化を解読する方法をいつでも見つけることができると思います。これをより安全にする方法について誰か考えがありますか?
更新: 私のウェブサイトの内容が少し曖昧で申し訳ありません。基本的にはFacebookのような好き嫌いのシステムです。私のテーブルには、id、user_that_liked_id、post_id の構造があります。ユーザーが投稿を気に入ると、その投稿の ID が post_id に挿入され、その投稿を気に入ったユーザーの ID が user_that_liked_id に挿入されます。ユーザーは隠し入力の ID を変更するだけで、あらゆる種類のナンセンスを挿入できるため、ここにはセキュリティ上の問題があります。以下のコードを参照してください。
HTML (概要):
<div class="thumbsup mini_thumbs" name="mini_thumbs">
<input type="hidden" value="<?php echo $row->id; ?>" id="post_id"/>
<input class="up" name="thumbsup_vote" type="submit" value="1" title="Vote up" onclick = "liked(this)" />
<input class="down" name="thumbsup_vote" type="submit" value="0" title="Vote down" onclick = "disliked(this)" />
</div>
JavaScript/jQuery (まとめ)
function liked(e) {
var post_id = $(e).siblings("#post_id").val();
alert(post_id);
}