在textarea中接受PHP可能太危险,试图找到另一种解决方案

在textarea中接受PHP可能太危险,试图找到另一种解决方案,php,python,arrays,input,Php,Python,Arrays,Input,我遇到了一个问题,就是如何在PHP或Python中接受下面的数据,并能够将其解析为数组等 $data = array( 'full_name' => array('name'=>'Full Name', 'type'=>'textarea'), 'company' => array('name'=>'Organization', 'required'=>true), } 在这个内部数组中还有更多的字段,它们的显示方式没有一个固定的顺序 我有没

我遇到了一个问题,就是如何在PHP或Python中接受下面的数据,并能够将其解析为数组等

$data = array(
    'full_name' => array('name'=>'Full Name', 'type'=>'textarea'),
    'company' => array('name'=>'Organization', 'required'=>true),
}
在这个内部数组中还有更多的字段,它们的显示方式没有一个固定的顺序


我有没有办法解析用户从textarea输入的内容,并将其作为数组使用?或者关于如何使用它的其他想法?

使用JSON作为输入格式怎么样?这很容易解析,不会造成安全风险。

在Python中,您可以使用
ast.literal\u eval
安全地将字符串解析到字典中。

如果我了解您的需要

这就是json的用途

使用您的数据查看这个快速示例

您可以轻松地传递对象和数组


Mike

您可以允许他们发布您想要的所有代码,只需对代码进行html编码/转义,这样他们发布的内容就不会立即执行或在服务器上运行。然后你可以稍后解析它并执行它,然后吹走你自己的东西。至少你会知道谁运行了注入的错误代码。它需要作为数组输入吗?如果不是,YAML会做得很好。@MikeMcMahon-我认为这个想法是数组随后作为PHP运行,这就是为什么我认为应该接受另一种格式,然后转换为数组。您允许用户提交纯PHP的原因是什么?使用一个用户可以添加“框”并输入数组内容的界面怎么样?@halfer绝对,我有点开玩笑:)!最好的办法是按照建议的那样,使用JSON或其他中介安全格式。