【发布时间】:2017-04-06 09:26:45
【问题描述】:
我的用户上传了一个数据文件,其中包含由制表符和换行符分隔的键和值组成的部分:
key value
city London
year 1984
我将它导入到一个脚本中,然后为 PHP 变量分配与值相同的名称:
$key = 'value';
$city = 'London';
$year = 1984;
这用于populate templates 他们也上传了。
这是我分配给键和值的脚本:
$userdata = explode("\n", $file);
foreach($userdata as &$line){
list($key, $value) = explode("\t", $line);
$$key = $value;}
我想知道这是否是将键分配给值的最佳方法,是否应该采取任何安全预防措施,例如防止某些键名,以及是否有办法使键等于数组如果该行有多个选项卡。
【问题讨论】:
-
我只是将键/值分配给一个数组,例如
$props[$key] = $value -
你可能想看看variable variables。
-
“如果我应该采取任何安全预防措施,例如阻止某些密钥名称” - 反问:您认为什么是安全风险?如果您使用它来存储敏感信息,那么您应该考虑使用数据库;或将其放置在公共根区域之外,并根据需要通过
.htaccess保护它。 -
另外,在管理文本文件时需要做很多工作。
-
安全风险在于将该文本文件提供给公众。
标签: php