Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Ruby中是否有与yaml.safe_load等效的加载?_Python_Ruby_Security_Yaml - Fatal编程技术网

Python Ruby中是否有与yaml.safe_load等效的加载?

Python Ruby中是否有与yaml.safe_load等效的加载?,python,ruby,security,yaml,Python,Ruby,Security,Yaml,最近的一篇文章揭示了在Ruby应用程序中解析用户提供的YAML的潜在危险 快速的谷歌搜索显示,其中包含一个safe\u load方法,该方法将只反序列化“简单的Python对象,如整数或列表”,而不是任何任意类型的对象 Ruby有等价物吗?在Ruby应用程序中是否有任何方法可以安全地接受YAML输入,而无需手动编写自定义解析器?使用Psych(实际的解析器引擎)的低级接口,可以访问低级结构,而无需将其序列化回Ruby对象(请参阅)。这不像安全加载那么简单,但它确实提供了一个实现这一点的途径 在S

最近的一篇文章揭示了在Ruby应用程序中解析用户提供的YAML的潜在危险

快速的谷歌搜索显示,其中包含一个
safe\u load
方法,该方法将只反序列化“简单的Python对象,如整数或列表”,而不是任何任意类型的对象


Ruby有等价物吗?在Ruby应用程序中是否有任何方法可以安全地接受YAML输入,而无需手动编写自定义解析器?

使用Psych(实际的解析器引擎)的低级接口,可以访问低级结构,而无需将其序列化回Ruby对象(请参阅)。这不像
安全加载
那么简单,但它确实提供了一个实现这一点的途径


Syck
Psych
中可能还有其他更直接的选项,比如
safe\u load

下面我继续写了一个gem,它添加了
YAML.safe\u load
方法,并在内部使用Psych来完成繁重的工作。

谢谢你的建议!你可以看到我按照你的建议做了。