- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道 Rails 提供了什么来混淆电子邮件地址以保护它免受爬虫、垃圾邮件机器人和邮件收割机的攻击,收集地址以发送垃圾邮件。
可能是我使用了错误的关键字,但并没有真正找到 gem。
我找到了一个比较不同方法来屏蔽邮件地址的统计数据: http://techblog.tilllate.com/2008/07/20/ten-methods-to-obfuscate-e-mail-addresses-compared/
我写了一个结合了前两种方法的片段。
截图还不成熟,但我还是喜欢分享它,这可能是其他面临同样问题的人的起点。(下一步是用模糊的纯文本替换已经链接的地址。)
在开始之前,我想知道 Rails 中的最佳实践是什么。这是一个常见问题,我一定错过了处理它的绝妙方法!?
如果我使用我的方法,在我的应用中集成/触发它的最佳方法是什么?
任何类型的 before_filter?渲染前???类似的东西?
或者像我目前所做的那样,在 View 中将其作为 helper_methode 调用?
它甚至可以添加到字符串类中......
在我的application_helper.rb
def obfuscate_emails(content, domain_prefix = 'nirvana', clss = 'maildecode')
# This shall protect emails from spam spiders/crawlers gathering emails from webpages
# Add the following SASS to your Stylesheets
#
# span.maildecode
# direction: rtl
# unicode-bidi: bidi-override
#
# Further more you might want to use Javascript(.erb) to add links to the email addresses like this
#
# $(document).ready(function() {
# function link_emails(subdomain){
# console.log("Find an replace reverse emails, fake subdomain is "+subdomain);
# $(".maildecode").each(function() {
# email = $(this).text().replace('.'+subdomain,'').split("").reverse().join("");
# console.log("- clean email is "+email);
# // $(this).html($(this).text().replace('.'+subdomain,'')); // uncomment if you like to clean up the html a bit
# $(this).wrap('<a href="mailto:'+email+'">');
# });
# }
#
# link_emails('<%= ENV['OBFUSCATE_EMAIL_SUBDOMAIN'] %>');
# });
#
# Thanks to
# http://techblog.tilllate.com/2008/07/20/ten-methods-to-obfuscate-e-mail-addresses-compared/
email_re = /[\w.!#\$%+-]+@[\w-]+(?:\.[\w-]+)+/
content.scan(email_re).each do |mail|
obfuscate_mail = "<span class='#{clss}'>#{mail.reverse.split('@')[0]}<span style='display: none;'>.#{domain_prefix}</span>@#{mail.reverse.split('@')[1]}</span>"
content = content.sub(mail, obfuscate_mail)
end
content # use raw(obfuscate_emails(content)) otherwise rails will escape the html
end
最佳答案
只需使用 Rails 内置的 mail_to
助手...
http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-mail_to
mail_to 'email@here.com', 'click to email', :encode => .... # couple of encoding options
注意:这在 Rails 4 中不再有效。来自文档:在 Rails 4.0 之前,mail_to 提供了对地址进行编码的选项,以阻止电子邮件收割机。要利用这些选项,请安装 actionview-encoded_mail_to gem。 (感谢@zwippie)
关于ruby-on-rails-3 - 如何保护我的电子邮件地址免受垃圾邮件机器人的侵害,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13941554/
我正在尝试进行一些高度递归的模拟和数学运算,在某些边缘情况下,我会溢出调用堆栈并获得 EXC_BAD_ACCESS 信号。将算法更改为迭代形式是不可行的,因为它是很多遗留代码。并且递归深度限制没有用,
我们有一堆调用 Python C/C++ 绑定(bind)的测试。我们用 Nose 运行这些测试: nosetests myapp ..... ----------------------------
关闭。这个问题需要更多focused .它目前不接受答案。 想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post . 5年前关闭。 Improve this questi
我对不使用 SSL 保护 PHP session 的主题很感兴趣。 令我惊讶的是,如果中间人嗅探用户和服务器之间交换的数据包,即使已通过身份验证,也很容易窃取 session 。我知道有一些策略可以限
我对不使用 SSL 保护 PHP session 的主题很感兴趣。 令我惊讶的是,如果中间人嗅探用户和服务器之间交换的数据包,即使已通过身份验证,也很容易窃取 session 。我知道有一些策略可以限
我正在创建一个 API,下面的方法通过查询参数中的员工姓名或所有员工获取员工。但是,[FromQuery(Name = "name")] 是否可以防止 SQL 注入(inject),不确定这是否是 .
我想保护我的应用免受 XSS 攻击。我可以使用任何开箱即用的功能吗?一个外部库来保护整个应用程序的请求?还是 Tomcat 过滤器/阀? 谢谢! 最佳答案 您可以使用的选项: > Java Encod
很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visit the help center . 关闭 1
这个问题在这里已经有了答案: How to prevent spoofing of DLLs in .NET (2 个答案) 关闭 7 年前。 我想保护我的 DLL 不被修补程序修改。听说对DLL进
我刚刚在我的 Azure Web 应用程序上安装了 SSL 证书。我已使用可用的 Symantec SSL 检查器工具检查安装是否正确 here . 在结果中我可以读到 BEAST This serv
我正在为一组网站设计 API。这些站点非常相似(有点像 StackOverflow、SuperUser 和 ServerFault),它们有一个共享的后端是有意义的。因此,我们决定尝试使用一个很好的
我正在开发一个使用 SQLite 作为数据库管理系统的 PHP 应用程序,MySQL 和 PostgreSQL 等不是替代方案(尽管我真的很想使用 pgsql),因为我希望设置对初学者非常友好并且为零
我们使用 native Apache Portable Runtime SSL 连接器在 Tomcat 6 上运行 Web 应用程序以提供 SSL 连接。我们如何配置服务器以防止 BEAST 攻击?。
我有一个聊天窗口(使用 )有时需要获取多行条目。到现在为止,我只是简单地替换了传入的 \n与 并显示带有 .append() 的文本.不幸的是,我发现留下一个裸体 .append()基于用户输入允许
我已经研究过这个主题,但找不到任何相关信息 我们是否需要采取任何安全措施来保护 javax.xml.transform.Transformer 免受 XML 外部实体攻击? 我做了以下,它似乎扩展了
例如,我有一个用 Node.js 编写的 REST api 端点。非技术用户可以从网页访问,也可以使用 curl 命令通过命令行访问。它不需要任何凭据即可访问它,因为它旨在对任何人开放以供访问。我要解
我托管了我的博客 Amazon Web Services S3(托管静态文件)。我是否应该添加任何策略或措施来进一步保护我的帐户免受 DDoS/高带宽消耗? 最佳答案 我认为这是一场音乐会。不是在技术
我有一个网站使用数据库为网站用户存储信息。所有 mysql 数据库调用都是 SELECT。我使用 $_GET 将变量从一个页面传递到另一个页面,然后在 mysql SELECT 调用中使用这些变量。我
我刚读过 http://www.ruby-lang.org/en/news/2013/02/06/rdoc-xss-cve-2013-0256/ ,关于 RDoc 中 XSS 攻击的报告。 我使用的是
我正在处理一个相当复杂的数学库,当客户端代码使用 auto 时,我发现了一个令人讨厌的错误。在创建一个最小的复制案例来询问有关它的问题的过程中,我意识到我可以单独使用标准库来复制类似的东西。看这个简单
我是一名优秀的程序员,十分优秀!