删除讨论仪表板中的链接预览

时间:2018-07-02 作者:Rick Hellewell

有时,在讨论(评论)仪表板中,管理员可以看到评论列表,将鼠标移到链接上会导致该链接的预览,这可能会让人感到麻烦。有时预览会妨碍查看评论。对于垃圾邮件评论尤其如此。

我还担心,如果链接到一个有一些“坏”代码的页面/站点,会导致我的站点受损。

有没有办法禁用此“功能”?不知道它是从哪里来的。

3 个回复
最合适的回答,由SO网友:Jani Uusitalo 整理而成

Since version 4.1.6, Akismet有一个过滤器allows you to disable these "mShots" (网站预览弹出窗口):

<?php
function disable_akismet_mshots( $value ) {
    return false;
}
add_filter( \'akismet_enable_mshots\', \'disable_akismet_mshots\' );

SO网友:Remi Loisel

这个讨厌的东西是由Akismet介绍的。

在里面wp_content/plugins/akismet/_inc/akismet.js 第89行(akismet 4.1.2)插入“返回就在之后

86: // Show a preview image of the hovered URL. Applies to author URLs and URLs inside the comments.
87: $( \'#the-comment-list\' ).on( \'mouseover\', mshotEnabledLinkSelector, function () {
88:     clearTimeout( mshotRemovalTimer ); 
89: return;

SO网友:Rick Hellewell

WP5.2.1中仍存在这种情况。您可以通过查看您的垃圾邮件(通过“管理、评论”屏幕)并将鼠标悬停在链接上进行验证。当你做wo时,一个框会弹出该链接的内容。

使用Inspector,我发现垃圾邮件注释中链接上的HREF代码与此类似(我混淆了域,但留下了其余部分)(不确定如何包装下面的代码块)

    <a href="http://Www.example.com/__media__/js/netsoltrademark.php?d=malyj.info%2F__media__%2Fjs%example.php%3Fd%3D3win8.city%2Findex.php%2Fdownload%2F29-ntc33"
     target="_blank" rel="external nofollow">
http://Www.example.com/__media__/js/netsoltrademark.php?d=malyj.info%2F__media__%2Fjs%2Fexample.php%3Fd%3D3win8.city%2Findex.php%2Fdownload%2F29-ntc33</a>
以及:after 元素,它来自Akismet(这就是为什么您只能在Akismet捕获的垃圾邮件上看到它,使用的是最新版本的Akismet)akismet.css 第42行:

table.comments td.comment p a::after {

    content: attr(href);
    color: #aaa;
    display: inline-block;
    padding: 0 1ex;

}
所以content CSS的元素显示链接中的内容。请注意,上面的示例链接是一个php文件。这是关于。。。。因为点击链接似乎需要一些“下载”过程。(我没有查看链接的代码,也没有点击它。)

。。。。但并不像示例块是某个JS那样令人担忧。还有,如果JS试图在你的计算机上进行一些攻击,我想这不需要点击,只需悬停即可执行。YIKES!

因此,原因似乎是Akismet使用的CSS显示链接的内容。

这看起来不太安全。阿基斯米特should not 正在使用content :after CSS块中的元素。

**ADDED 4 Jan 2020 **

以上答案(标记为正确)就是问题的解决方案。但不必“过滤”该操作。默认情况下,Akismet代码中应禁用该预览。IMHO表示,默认情况下启用该功能存在安全风险。

(标记正确答案https://wordpress.stackexchange.com/a/380836/29416 )

结束

相关推荐

Delete comments function

我做了一个功能,向登录用户显示她的所有评论,并允许她通过与打印的每个评论相关的删除按钮单独删除这些评论。该功能起作用,但在执行表单操作后,刷新时页面仍会显示已删除的注释,并且仅当您再次转到该页面(不是刷新,而是通过单击浏览器地址栏上的返回键)时,页面才会显示已批准的注释。如何解决此问题?代码如下: function custom_delete_post_comment() { $comment_id = comment_ID();