输出wp_oembed_get代码时的安全性

时间:2020-04-13 作者:Robert Brax

这是我在函数中的代码。php操作。它负责获取和显示嵌入代码。通常有一个来自$embed\\u link的youtube链接,但它来自公共表单,因此可以包含任何内容:

    $embed_link = get_post_meta( $post_id, \'user_content_link_to_remote_video\' );
    $embed_code = wp_oembed_get( $embed_link[0] );
    if ($embed_code): 
        echo $embed_code;
    endif;
是否存在恶意代码风险?这个代码安全吗?如果没有,如何使其更安全?

1 个回复
最合适的回答,由SO网友:Jacob Peattie 整理而成

wp_ombed_get() 将仅处理来自白名单oEmbed提供程序的URL。支持的提供程序列表可用here. 这意味着唯一可以输出的代码是来自这些提供程序的嵌入代码。WordPress支持内容中的URL或块编辑器中的嵌入块,这些都是相同的提供程序,因此可以合理地确保它们是安全的,因为WordPress认为它们足够安全,可以供作者和贡献者使用。

相关推荐

在AJAX调用中加载oEmbedded IFRAME

我正在尝试加载通过ajax加载的oembed短代码。问题是,oembed短代码似乎很有效,因为我有一个blockquote而不是instagram链接。但是,blockquote没有被iframe替换。应该有一个javascript函数来搜索blockquotes并用iframe替换它,但它没有被激发,因为我没有加载所有页面?有人知道怎么发射这个吗?谢谢