php - 清理用户输入中的反引号字符
问题描述
我最近发现了 shell 注入,并且我有在 shell 环境中执行用户输入的代码,我需要清理输入,以便没有反引号或其他恶意字符串。使用str_replace()
和删除它们是否足够?
解决方案
仅仅替换反引号不足以安全地将用户提供的字符串传递给 shell,因为除了反引号之外还有其他字符可能会导致问题。
PHP 有一个内置函数,你可以使用它:escapeshellcmd
推荐阅读
- c++ - 为什么这个程序的输出不符合预期
- java - 使用 JPackage 或 Java 如何删除使用预 JPackage 安装程序创建的文件
- c# - 基于“System.Security.Principal”的 c# 用户身份验证是否适用于 ADFS 和 Azure Active Directory?
- python - Numpy .eig 返回矩阵行排列
- python-3.x - 如何将模块导入为 Python 字典?
- macos - 使用 MacOS 在 Flutter 中复制 SelectableText
- javascript - 有办法只将部分字符串对象保存到异步存储中吗?
- c# - 在列表视图中显示反序列化列表的项目
- javascript - 我对此完全感到困惑,因为 else if 语句似乎破坏了程序?
- python - 当询问麦克风权限时,selenium webdriver 无法单击允许