ちょっと、私はかなり重大なセキュリティエラーに直面しています。私のコードをまず説明しましょう。コメントを編集する - javascript、PHP共に協力する
<li class="comment">
<form action="" method="POST" name="edit-form" class="edit-area">
<textarea style="width: 100%; height: 150px;"><?php echo $response->comment; ?></textarea>
</form>
<div class="comment-area" style="padding-top: 2px"><?php echo (parseResponse($response->comment)); ?></div>
<p class="ranking">
<?php if ($response->user_id == $user_id) : ?>
<a href="" class="editting" data-user="<?php echo md5(convert($response->user_id)); ?>" data-edit="<?php echo $response->short; ?>">Edit</a> • <a href="#d">Delete</a>
<?php else : ?>
<a href="#">Like (<?php echo $response->likes; ?>)</a> • <a href="#">Dislike (<?php echo $response->dislikes; ?>)</a>
<?php endif; ?>
</p>
</li>
は、私は私の体で得たものであり、ここでは正常に動作しますが、私は問題を抱えている関連JS
$('.editting').bind('click', function(event) {
var num = $(this).data('edit');
var user = $(this).data('user');
if ($(this).hasClass('done')) {
var newComment = $('#comment-' + num + ' .edit-area textarea').val();
var dataString = 'newComment='+ newComment + '&num=' + num;
if(newComment == '')
{
alert('Comment Cannot Be Empty!');
}
else
{
$.ajax({
type: "POST",
url: "edit.php",
data: dataString,
success: function(){}
});
$('#comment-' + num + ' .edit-area').slideDown('slow', function() {
$('#comment-' + num + ' .edit-area').addClass('invisible');
});
$('#comment-' + num + ' .comment-area').slideUp('slow', function() {
$('#comment-' + num + ' .comment-area').removeClass('invisible');
});
$(this).removeClass('done');
$(this).html('Edit');
}
}
else {
$('#comment-' + num + ' .comment-area').slideDown('slow', function() {
$('#comment-' + num + ' .comment-area').addClass('invisible');
});
$('#comment-' + num + ' .edit-area').slideUp('slow', function() {
$('#comment-' + num + ' .edit-area').removeClass('invisible');
});
$(this).html('Done');
$(this).addClass('done');
}
return false;
});
です。ユーザーがコメントを見つけ、firebugのようなプラグインを使用すると、response-> shortを別のものに置き換えて、任意のコメントを編集することができます。もちろん、edit.phpの中で、私はレスポンステーブルとのショートをチェックして、ユーザがチェックアウトしているかどうかを見ることができますが、そのレスポンスがそのユーザによって確実でない限り、テキストエリアを表示しない方法を探したいのです。
これは可能ですか?事前に
おかげで、 ウィル
だけでなく、私はとにかく个人设定のことを行うことを計画します私はそれが有効だと確信していますが、とにかく私はjsも強化することができます/ – willium
@タップ - それほどあなたがしていないことはありません、JavaScriptは**広い**オープン、それはちょうどどのように...私はこのページの任意のコメントの編集ウィンドウを開くこともできますが、*サーバー*はそれを許可しません。それは重要です。ここに戻り、あなたが何をしようとしているのか見てみましょう...あなたのサイトを操作しようとしている誰かの特定のケースでインターフェイスを少し上手くしようとしています。それのために働くだけで、それが重要な場所にサーバー側を確保し、他のユーザーの99.9%のためのインターフェイスを設計します(それでも問題のある場所では安全です)。 –
OK!おかげでニック! – willium