我处于一种奇怪的境地,我必须在网页上输入我的姓名和联系信息,我觉得这很好,只要文本无法通过机器人阅读,复制等等。
基本上我想要的是一个看起来像普通文本的文本块,但行为就像一个图像。但是,我不能使用实际图像,因为背景和其他东西阻止了我。
有没有办法克服我的这个问题?我想我可以向后键入所有内容并使用一个控制字符来反转文本方向...或者我可以在某些方面在真实字符之间添加不可见字母,这样文本仍然可以被人类读取,但不能被网站爬虫读取
编辑:澄清一下,如果某个智能机器人真的想要抓取我的信息,那么它将不会是世界末日。我只是想让它变得足够困难,以便抓取网站的第一个随机机器人不会立即获取我的信息。
编辑2:伟大而有趣的答案。其他地方也可能需要这些想法!
答案 0 :(得分:2)
xyz@example.com:
<span style="unicode-bidi:bidi-override; direction: rtl;">
moc.elpmaxe@zyx
</span>
另请参阅:https://superuser.com/questions/235937/does-e-mail-address-obfuscation-actually-work
但是,你需要小心。
当您反转字符串时,例如"Les Mise\u0301rables"
为"selbare\u0301siM seL"
。这应该像
selbarésiMseL
,不喜欢
selbaŕesiMSeL
(注意重音的位置)。如果你只是做new string("bla".ToCharArray().Reverse())
,那么这会弄乱你的字符串,即使用精确的技术术语,错误。
这就是如何正确反转字符串:
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
public static class Test
{
private static IEnumerable<string> GraphemeClusters(this string s)
{
var enumerator = StringInfo.GetTextElementEnumerator(s);
while(enumerator.MoveNext()) {
yield return (string)enumerator.Current;
}
}
private static string ReverseGraphemeClusters(this string s) {
return string.Join("", s.GraphemeClusters().Reverse().ToArray());
}
public static void Main()
{
var s = "Les Mise\u0301rables";
var r = s.ReverseGraphemeClusters();
Console.WriteLine(r);
}
}
答案 1 :(得分:1)
这样的事情应该有效:
.hiddenemail::before{
content: "myemailtohide"
}
.hiddenemail::after {
content: "emaildomain.com"
}
<p class="hiddenemail">@</p>
伪类:before和:after不在dom中,不应该对机器人可见。 之所以我将地址拆分为两部分,是为了防止嗅到普通CSS文件的一些正则表达式。
答案 2 :(得分:0)
如果您可以要求用户与该网页进行互动以显示您的地址,那么您可以使用recaptcha的mailhide。它要求用户单击“显示地址”链接/按钮,然后使用验证码对其进行测试。
答案 3 :(得分:0)
要明确:如果它作为文本在网络上,机器人可以阅读它。绝对没有办法解决这个问题。您可以使用robots.txt文件要求他们不要阅读它,但恶意机器人会忽略它。您可以使用Javascript隐藏它,但现代机器人可以执行脚本。简而言之,您要求的内容无法完成。
我真的没有看到使用图片时出现的问题。 PNG上的一点透明度可以让你的背景显示得很好。话虽如此,请记住,垃圾邮件机器人可以并且确实使用OCR来读取图像中的文本;如果您试图避免被垃圾邮件发送者逮捕,那么您唯一真正的选择就是不要首先发布您的详细信息。
如果您试图对其进行模糊处理以使其难以阅读,那么您最接近的是SVG图像,其中文本字符使用向量手动构建,而不是映射到已知字体。垃圾邮件发送者&#39; OCR脚本可能会遇到这种情况,而且它具有可扩展性和背景良好透明度的优势。但它真的有点过分了。
答案 4 :(得分:0)
这是一个提供有关protecting your number and email from spambots的良好信息的网站。尽管仍然容易受到推荐,但推荐的方法是使用javascript实现。
无论您实施哪种方法,您的信息(在网络上发布时)都是可收获的。