在新的Programming Phoenix书中,Chris McCord说这是关于使用字符串和原子键来控制器动作参数:
在我们控制器的world动作中,外部参数有字符串键,"name"=> name,而在内部我们使用name:name.这是整个凤凰城遵循的惯例.外部数据是不安全的,所以我们明确匹配的字符串键,然后我们的应用程序边界像控制器和渠道将它们转换成原子键,我们将依靠其他地方里面凤凰.
但是,我不清楚为什么使用字符串键比原子键更安全.为什么字符串键在这里更安全?
默认情况下,Erlang VM中的最大原子数为1048576.因此,通过将外部值转换为原子,您将填充全局原子表,而不是垃圾回收.因此,您很容易受到拒绝服务攻击.
资源
相关的答案