该网站如何禁止内容选择?

Wil*_*iam 1 html javascript css copy-paste web-scraping

我发现了一个有趣的网站,该网站禁止使用神秘技术复制网页内容。

首先,它禁用鼠标右键单击。可以通过禁用浏览器的javascript来解决。

但是,即使禁用了javascript,网页的内容仍然无法选择。我调查了网页的CSS,但找不到线索。

它如何实现禁用内容复制的功能?

Mic*_*ael 5

CSS中有一个名为user-select的属性,可用于防止用户突出显示文本。

通常,它用于您要与之交互的按钮或对象(例如单击并拖动)。

还有一个jQuery UI方法disableSelection将执行类似的操作,您可以看到它在整个UI API中都在使用

注意:disableSelection由于user-select可用,现已弃用

您可以看到您链接的网站在html标签上具有CSS属性,从而阻止了该网站在整个网站


更新资料

我查看了他们的代码,他们还有更多的层次,以防止用户选择,主要是在Javascript中。有关它们如何阻止选择的一些示例,请参见下面的小提琴。可能会使用更多的方法,但是将它们全部解密需要一段时间。绕过它们的最简单方法是在浏览器中安装一个插件,该插件将禁用所有脚本的运行,然后只需禁用阻止您的CSS即可。或者只是采取简单的方法,然后直接从inspect元素窗口复制HTML。就像其他人在评论中所说的那样,围绕它们有多种方法可以阻止您像Ctrl + Shift + I使用浏览器的菜单一样打开devoper工具。

展示小提琴

  • 烦人的是@mindmaster,该网站还禁用了右键单击并按F12的功能,因此我不得不加载其他站点,打开开发人员控制台,然后导航至该站点。_really_网站不希望您复制内容 (2认同)
  • @MickelsonMichael您仍然可以通过浏览器菜单打开它,F12只是一个快捷方式。他们还在整个层次上重复了“用户选择:无;”,但我设法删除规则并禁用了JS来复制 (2认同)
  • 网站抓取者不使用 GUI 网络浏览器...此类限制只会让您诚实的用户感觉不好,而您试图保护的用户永远不会注意到... (2认同)