将 anyLinks: true 与 jQuery-terminal 一起使用有什么安全隐患?

What security implication to use anyLinks: true with jQuery-terminal?

我不能再在 jquery-terminal 中使用 relative link 因为所有 link 必须有一个 ftp 或 http(s) 协议。

我不太明白这个警告https://terminal.jcubic.pl/api_reference.php#security

如果我使用 anyLinks: true 选项继续使用相对 link 会发生什么情况?

如果您不回显用户的内容并且不将其发送给其他用户,例如使用聊天应用程序或者当您不回显用户和 exec 命令(使用 execHash 选项)时,则没有安全隐患.

如果您确实回显了来自用户的内容,那么用户可以输入 [[!;;;;javascript:alert("xss")]xss],如果您还允许来自用户的格式设置。 所以如果你使用这个你会很安全:

$('body').terminal(function(text) {
   this.echo($.terminal.escape_brackets(text));
});

你也会很安全。

如果您需要回应用户的内容并允许格式化,那么您需要像正常的 XSS 预防一样验证用户输入,但字符串会有所不同。