php - 在仅与自身交互的 PHP Web 表单中,什么验证是重要的?

标签 php base64 security

我制作了一个简单的 base64 解码器形式,它通过文本区域接收输入。我假设输入是 base64 编码的。如果它不是 base64 输入,并且出现 PHP 错误或返回垃圾,我暂时不介意。但是,从安全角度来看,我是否需要对此输入进行任何验证或清理?

该页面称为 error-decoder.php,它提交给自己,不与数据库或其他任何东西交互。这是整个事情:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
        <div id="container" style="width: 80%; margin: 0 auto; font-family: sans-serif;">

            <form name="error-decoder" action="error-decoder.php" method="post">
                <textarea name="error-text-area" style="width: 100%; height: 400px;">
                    <?php if(!empty($_POST['error-text-area'])){ echo $_POST['error-text-area']; } ?>
                </textarea>
                <button type="submit" style="float: right;">Decode</button>
            </form>

            <?php
            if(!empty($_POST['error-text-area'])){
            ?>
                <p>Output:</p>
                <hr>
                <div id="error-output">
                <br />
            <?php
                echo base64_decode($_POST['error-text-area']) . "</div>";
            }
            ?>

        </div>

    </body>
</html>

是否需要做任何事情来保证用户或我的服务器的安全?是否有我需要担心的重要 php.ini 设置会影响您的回答?我不关心错误或垃圾,除非它会如何影响安全性。感谢您提供这方面的任何信息!

最佳答案

当你输出到 html 时,你应该使用 htmlspecialchars() 来避免你的数据破坏 html。当然,除非你正在输出 html 本身。

所以:

echo htmlspecialchars(base64_decode($_POST['error-text-area']));

关于php - 在仅与自身交互的 PHP Web 表单中,什么验证是重要的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12716973/

相关文章:

php - 通过 PHP 使用 XSLT 的 UTF-8 编码问题

php - MYSQL加载数据本地Infile&特殊字符(&PHP)

security - 阻止未经所有者许可复制和使用应用程序的最佳方法是什么?

ruby-on-rails - 使用常量化的安全影响

php - 防止缓存 CSS 文件

javascript - Ajax 调用中未找到 Yii2 类

php - 如何在不损失质量和大小的情况下对base64图像进行解码和编码

go - 使用Go的base64.StdEncoding.Decode()方法: how to choose the size of the destination byte slice?

javascript - 将 base64 数据保存到变量中

php - 使用 PHP 自动登录安全,如何以及为什么