如何在HTML页面中避免检查元素?

时间:2014-11-11 12:06:20

标签: php html security

假设我在HTML页面上有一个select标签。 用户可以右键单击选择标签并单击Inspect元素,然后用户可以更改选项标签的值,然后发送数据。 是否有办法避免这个问题?

4 个答案:

答案 0 :(得分:2)

这实际上是其中一个原因,为什么你应该总是在后端验证你的数据。 即使您禁用右键单击,用户也可以更改表单数据。

答案 1 :(得分:0)

您可以使用jQuery实现禁用右键单击。

$(document).bind('contextmenu', function (e) {
  e.preventDefault();
  alert('Right Click is not allowed');
}); 

但不幸的是,这不会解决你的问题。有许多开发人员工具可用于编写调试或Inspect元素。

很难阻止一切。

答案 2 :(得分:0)

有人可以告诉你如何禁用右键单击,但这不是一个真正的解决方案。如果您担心使用Javascript将操纵变量输入到代码中,那么只需验证和/或清理用户输入,这应该是任何Web应用程序中的必要条件。 PHP现在有一些很好的工具可以轻松清理输入:http://php.net/manual/en/function.filter-var.php

答案 3 :(得分:0)

不要试图阻止它,因为它在最好的情况下是无用的,在最糟糕的情况下是糟糕的用户体验。

您应该做的是验证服务器端的数据。这可以通过在服务器端保留有效值列表来轻松完成。

简单示例:

<?php

$validValues= [
    'val1',
    'val2',
    'val3',
];

if (!in_array($_POST['yourfield'], $validValues, true)) {
    // error
}