MST

星途 面试题库

面试题:Bash脚本中的输入验证与安全过滤

假设你正在编写一个接受用户输入的Bash脚本,为了防止命令注入攻击,你会采取哪些措施对用户输入进行验证和过滤?请编写一段代码示例,展示如何对输入的字符串进行安全处理,使其仅包含字母和数字。
48.8万 热度难度
编程语言Bash

知识考点

AI 面试

面试题答案

一键面试
  1. 采取的措施
    • 使用正则表达式来验证输入,确保其符合预期的格式。
    • 避免使用 eval 等可能执行恶意代码的命令。
    • 对输入进行转义处理(虽然在本题仅验证字母数字时不是必需,但在更复杂场景有用)。
  2. 代码示例
#!/bin/bash

read -p "请输入字符串: " input

if [[ $input =~ ^[a-zA-Z0-9]+$ ]]; then
    echo "输入有效,内容为: $input"
else
    echo "输入无效,仅允许字母和数字。"
fi