Предотвратить пользователю от редактирования значения флажка с чем-то вроде FireBug?
У меня есть страница администратора, на которой перечислены группы записей, а рядом с каждой записью установлен флажок, чтобы установить для него значение «активный». статус. Каждый флажок имеет значение, привязанное к идентификатору записи в базе данных. Если кто-то использует FireBug, он может легко изменить значение флажка на другое число, что приведет к неправильной записи в базе данных.
Я не очень обеспокоен этим случаем, потому что это просто страница администратора, на которой будет только один пользователь, и я уверен, что он ничего не знает о FireBug ... но было просто любопытно, если я столкнусь с этой проблемой в будущем на более публичная страница.
Вот код, который у меня есть на данный момент, чтобы вы могли понять, что я делаю.
The HTML + PHP..
<input type="checkbox" class="active" name="active<?php echo $id; ?>" id="active<?php echo $id; ?>" <?php if ($active == 1): ?>checked="checked"<?php endif; ?> value="<?php echo $id; ?>">
jQuery ajax..
$("input.active").click(function() {
var loader = $(this).prev().prev();
$(loader).css("visibility","visible");
// store the values from the form checkbox box, then send via ajax below
var check_active = $(this).is(':checked') ? 1 : 0;
var check_id = $(this).attr('value');
console.log(check_active);
console.log(check_id);
$.ajax({
type: "POST",
url: "active.php",
data: {id: check_id, active: check_active},
success: function(){
$(loader).css("visibility","hidden");
}
});
return true;
});
Here is active.php..
<?php
include("dbinfo.php");
mysql_connect($server,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$active = mysql_real_escape_string($_POST['active']);
$id = mysql_real_escape_string($_POST['id']);
$addEntry = "UPDATE entries SET active = '$active' WHERE id = '$id'";
mysql_query($addEntry) or die(mysql_error());
mysql_close();
?>