当前位置: 首页 > 知识库问答 >
问题:

如何消毒复选框?

柳修平
2023-03-14

我已经在谷歌上搜索了这个,也在StackOverflow上搜索了一个答案。但是,对于如何净化复选框值,还没有一个明确的答案。

我明白,如果我的输入是:

<input type="checkbox" value="submit_doors">

那么,我应该如何消毒复选框/收音机输入?我应该用(int)检查值吗?我应该像处理其他输入/选择字段一样清理值吗?

记录在案的是,我正在使用WordPress开发我的网站,例如,为了净化文本输入,我正在这样做:

$turbo = trim( sanitize_text_field( wp_kses( $_POST['submit_induction_turbo'], $allowed_html ) ) );

我也应该在复选框上运行所有这些检查吗?或者这是矫枉过正?

共有1个答案

仉英朗
2023-03-14

首先,您需要给输入字段一个名称,以便可以从$_POST变量访问它。

假设您有以下输入字段,并且希望对其进行消毒。

<input type="checkbox" name="door" value="submit_doors">

您可以使用该函数对任何复选框进行消毒。

/**
 * Sanitize checkbox
 * @param int | string $input the input value to be sanitized
 * @param int | string $expected_value The expected value
 * @return int | string it returns the sanitize value of the checkbox.
 */
function prefix_sanitize_checkbox( $input, $expected_value=1 ) {
    if ( $expected_value == $input ) {
        return $expected_value;
    } else {
        return '';
    }
}
$sanitized_value = !empty($_POST['door']) ? prefix_sanitize_checkbox($_POST['door'], 'submit_doors') : ''; // this will return the value only if the checkbox contains the value "submit_doors", otherwise, it will return empty string.

这样,功能比较灵活。如果传递给第二个参数,它可以清除true、false值和1以及其他字符串值。

 类似资料:
  • 我有一个spring boot service(2.4.5)显示了一个checkmarx错误,我们需要清理请求有效负载。我们如何对请求有效载荷进行消毒? 对于“@RequestBody final MyInput Input”,我得到以下checkmarx错误消息: 我想消毒我的有效载荷。或者除了使用DTO,然后将其转换为我的数据库实体之外,没有其他选择

  • 我只想在每次使用CheckBoxSelectionModel选中或取消选中网格中的项目时捕获一个事件。使用SelectionHandler,选中/选中的部分很容易。不过,我没有看到任何在多选模式下引发取消选择事件的情况。我有一个包含1000个左右项目的网格,我允许用户在地图上多选择要跟踪的项目。每当选择发生变化时,扫描整个模型的表现并不好,所以我想知道如何处理这个问题。

  • 我试图在WebLogic10r3服务器上调试一个web应用程序主机。该应用程序通过Java消息驱动bean接收来自外部IBM JMS队列(classname:)的输入。 我写了一个小的测试应用程序来连接到队列并发送测试消息。目前的问题是测试消息会生成异常,并且不知何故它会被放回队列中,并一次又一次地循环。这会产生大量异常,使日志不可读。 代码概述了JMS生产者:

  • 我正在使用OWASP Html消毒剂来防止对我的web应用程序的XSS攻击。对于许多应该是纯文本的字段,消毒剂的作用比我预期的要大。 null 问题2对我来说是一个更重要的问题。

  • 当Kafka消费者未能反序列化消息时,客户端应用程序是否有责任处理Poison Message? 或者 Kafka 是否“递增”了消息偏移并继续使用有效消息? 是否有处理Kafka主题中的有害信息的“最佳实践”?

  • 下载整个项目。zip在这里 此问题的代码在Views文件夹中的CreateSchedule.aspx文件中。 以下是GridView的ASP.NET: 在取消选中某个框后调试事件时,网页上的复选框显示为未选中,但的值为true,即使该复选框在网页上显示为未选中。(chkRow是未选中的复选框) 更新3 我取得了一些突破。我发现复选框的问题在于嵌套的gridview位于使用JavaScript折叠和