Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.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
“如何消毒”;内联javascript“;在RubyonRails中?_Javascript_Ruby On Rails - Fatal编程技术网

“如何消毒”;内联javascript“;在RubyonRails中?

“如何消毒”;内联javascript“;在RubyonRails中?,javascript,ruby-on-rails,Javascript,Ruby On Rails,我专门用RubyonRails开发了一个应用程序,我发现 RubyGem“sanitize”对于清理用户输入非常有用,但它不会删除内联javascript,这使得它毫无用处 我已经看过了,但这并没有净化内联javascript 有没有更好的方法(任何gems之类的)?好吧,你可以为sanitize设置一个白名单,只允许特定的标签和属性,所以我想你已经得到了你想要的: Sanitize.clean(html, :elements => ['a', 'span'], :attribut

我专门用RubyonRails开发了一个应用程序,我发现 RubyGem“sanitize”对于清理用户输入非常有用,但它不会删除内联javascript,这使得它毫无用处

我已经看过了,但这并没有净化内联javascript


有没有更好的方法(任何gems之类的)?

好吧,你可以为sanitize设置一个白名单,只允许特定的标签和属性,所以我想你已经得到了你想要的:

Sanitize.clean(html, :elements => ['a', 'span'],
    :attributes => {'a' => ['href', 'title'], 'span' => ['class']},
    :protocols => {'a' => {'href' => ['http', 'https', 'mailto']}})

您要将其打印到哪里?基本上,用户可以在。。。我使用“清理”gem对输入进行了清理…但后来发现gem不处理内联javascript…我不知道如何处理内联javascript