【发布时间】:2012-05-10 14:57:28
【问题描述】:
我在寻找某种方式来接受下面的数据以及能够在 PHP 或 Python 中将其解析为数组等方面遇到问题。
$data = array(
'full_name' => array('name'=>'Full Name', 'type'=>'textarea'),
'company' => array('name'=>'Organization', 'required'=>true),
}
该内部数组中有更多字段,并且它们的显示方式没有固定顺序。
我有什么方法可以解析来自 textarea 的用户输入并能够将其用作数组吗?或者关于如何处理它的任何其他想法?
【问题讨论】:
-
您可以允许他们发布您想要的所有代码,只需对代码进行 html 编码/转义,以便他们发布的内容不会立即执行或针对服务器运行。然后你可以稍后解析它并执行它并吹走你自己的东西。至少你会知道是谁运行了被注入的错误代码。
-
是否需要作为数组输入?如果没有,YAML 会做得很好。
-
@MikeMcMahon - 我认为这个想法是数组是随后作为PHP运行,这就是为什么我认为应该接受另一种格式,然后转换为数组。
-
您允许用户直接提交 PHP 的原因是什么?使用一个用户可以添加“框”并输入数组内容的界面怎么样?
-
@halfer 绝对是,我有点搞笑:)!最好的办法是按照建议使用 JSON 或其他一些中间安全格式。