微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP-用户可以在浏览器开发工具中操纵选择框值吗

可以说我有一个带有选择框的表单.我只是想知道用户是否可以在浏览器的Web开发工具中操纵selectBox的值,以及这些操纵后的值是否将作为用户操纵的值发送.

认选择框值

enter image description here

篡改的选择框值

enter image description here

在上面的选项中,提交表单时会发送被篡改(突出显示)的值吗?

解决方法:

是的,它可以!永远不要相信客户端提供的任何输入-不仅要选择复选框.

最好确认所有输入均有效.

可以这样在PHP中完成:

$validInputs = ['1', '2', '3', '4', '5', '...'];

$tamperedInput = false;
if (!isset($_POST['score[0]'])) {
    $tamperedInput = true;
} else {
    $input = $_POST['score[0]'];
    if (!in_array($input, $validInputs)) {
        $tamperedInput = true;
    }
}

if ($tamperedInput) {
    echo "TAMPERED INPUT";
} else {
    echo "VALID INPUT";
}

在这种情况下,所有输入都是数字,因此可以使代码更简单:

$tamperedInput = false;
if (!isset($_POST['score[0]'])) {
    $tamperedInput = true;
} else {
    $input = $_POST['score[0]'];
    if (!is_numeric($input)) {
        $tamperedInput = true;
    } else {
        $number = intval($input);
        if (!($number >= 1 && $number <= 10)) {
            $tamperedInput = true;
        }
    }
}

您还需要记住其他恶意技术,例如sql Injection.

阅读此内容获取更多信息:
http://www.w3schools.com/php/php_form_validation.asp

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐