关于我的应用程序:
我正在编写一个小型的bash脚本应用程序。该应用程序必须将个人设置存储到主目录中。
我的设置以键值对的形式存在,将作为文件名/内容存储:
for example:
~/my-github-app
├── github-account
├── github-token
我目前添加键/值的解决方案:
read KEY
read VALUE
# FIXME! should check for for valid filename.
# user can do injection hack by KEY="../../path/to/yourfile"
echo $VALUE > ~/my-github-app/$KEY
什么是验证$KEY的最简单和安全的方法?
- 内置函数?
- 正则表达式?
我真的需要一个可重复使用的解决方案,不仅仅适用于这个应用程序。
编辑:
"验证文件名"意味着检查字符串是否符合操作系统所接受的正确文件名格式。
- "bob":良好的文件名格式
- "":不好,因为文件名不能为空
- "*":?
- "/":?
- "con":?....