-
我不是PHP开发人员,也没有什么经验。我请求您的原谅和帮助。
-
这是我的问题:
我有一个脚本,我需要能够附加一个"密钥"(我不知道还能叫它什么(,比如:
http://my-web-address.com/packages.php?key=secret
当这个键存在时,我需要运行负责从一个单独目录中的.json文件中提取数据的代码。(通常,代码不会对此目录进行索引。只有当密钥存在于URL中时,它才应该对其进行索引。(
我相信这个代码就是上面链接中的foreach
部分。
我很难用一种有意义的方式来解释这一点,所以我想更容易向你展示我的意思
我知道这应该很容易;一开始我以为我可以简单地用这样的东西来做:
if ($key == "secret") {
$document['packages'][] = getPackageData("secretdirectory/secret.json");
}
但是,遗憾的是,仅仅附加它并没有起到作用。
有什么想法吗?
正如Ron Dadon所说,但稍作修改:
sanitize($value) {
// Sanitize the key - see below
return $value;
}
$key = sanitize($_GET['key']);
if ($key == "secret") {
$document['packages'][] = getPackageData("secretdirectory/secret.json");
}
但是,您应该对输入进行消毒,因为任何人都可以更改密钥。以下是一些资源:
清洁&PHP 中的安全字符串
从字符串中删除所有特殊字符
终极清洁/安全功能
您需要使用GET数组:
if ($_GET['key'] == "secret") {
$document['packages'][] = getPackageData("secretdirectory/secret.json");
}