【问题标题】:Can my php output be seen by the client side in this Jquery script?客户端可以在这个 Jquery 脚本中看到我的 php 输出吗?
【发布时间】:2014-04-24 17:39:10
【问题描述】:

我有一个带有联系表格的页面。我想要电子邮件信息到电子邮件地址。为了让我的客户修改邮件将发送到的电子邮件地址,我创建了一个自定义字段 (ACF),使用以下方法调用:

<?php the_field('email_address'); ?>

我在下面的 Jquery 代码中使用了这个,它将它发布到 php 文件中。

$("#submit").click(function(){
            var address = <?php echo '"'; the_field('email_address'); echo '"'; ?>;
            var name = $("#name").val();
            var gender = $("#gender").val();
            var email = $("#email").val();
            var subject = $("#subject").val();
            var message = $("#message").val();
            $.ajax({
                type: "POST",
                url: "php/contact.php",
                data: { address: address, name: name, gender: gender, email: email, subject: subject, message: message }
            });
            return false;
});

我这样做的原因是为了向客户端隐藏电子邮件地址,以避免它被垃圾邮件发送者捕获。我认为这行不通。我该如何让它不可见?

提前致谢。

编辑:我在源代码中看不到它的原因是因为我在字段名称中输入了一个类型。所以我现在确实在寻找一种隐藏地址的方法。对不起,谢谢! 掌心

【问题讨论】:

  • 你想知道它的好方法吗?

标签: php jquery ajax security


【解决方案1】:

如果您在 HTML 页面中查看源代码,您应该在问题的 JavaScript 代码中以纯文本形式找到电子邮件地址,如下所示:

$("#submit").click(function(){
    var address = "someone@somewhere.com";

由于在HTML源代码中,很容易被抓取。

您还应该看到它以纯文本形式通过网络传输(在页面加载时从服务器到客户端,在提交 Ajax 请求时从客户端到服务器),除非您使用的是 https。

与其将电子邮件地址发送给客户端,不如发送一些可以识别电子邮件地址但在系统之外没有意义的东西(例如它所在的表的主键)并在@中查找它987654322@?

【讨论】:

  • 有趣的解决方案,但我看不出如何使用任何随机地址。我想要实现的是我的客户可以在他的 Wordpress 界面中更改目标电子邮件地址。必须事先将引用编码到 php 文件中,不是吗?
  • 在 Wordpress 中管理的目标电子邮件地址大概存储在某个数据库中?您的代码显示您正在运行 PHP,它运行在服务器上,而不是在客户端上。
  • 是的,它存储在 Wordpress 数据库中,我知道 PHP 在服务器上运行,但我完全确定如何在我的 php 文件中使用这个 Wordpress 函数。有什么方法可以让我像使用页面模板一样在这个文件中初始化 Wordpress 函数?
  • 我对 Wordpress 编程了解不多,但 the_field('email_address') 行从数据库表中检索电子邮件地址。那张桌子有某种键。也许是用户的 ID 首先设置了该电子邮件首选项?无论您使用什么 ID 从数据库中查找正确的电子邮件地址,都可以将其传递给 HTML 页面,而不是电子邮件地址本身。
  • 是的,但我实际上不能在我的 php 文件中使用该函数,因为它没有在那里初始化 Wordpress。我最终采用的解决方案是加密。正如我所说,这不是一百万访问者的网站,我认为这就足够了。我已经启动并运行并且运行良好。
【解决方案2】:

嗯,隐藏电子邮件地址的最佳方法是对其进行加密。

请参阅this 链接。这可能有助于您对 Html 和 Javascript 进行编码和解码。

【讨论】:

  • 隐藏它的最好方法是一开始就不要发送它。发送在您的系统之外无意义的标识符,例如主键。
  • 但实际上,这不是一百万访问者的网站,我怀疑是否有人愿意去解密一个简单的电子邮件地址,只是为了在有大量其他安全性差的网站时发送一些垃圾邮件. this 这样的东西适合我的情况吗?
猜你喜欢
  • 2016-03-05
  • 1970-01-01
  • 2017-04-22
  • 2012-12-26
  • 1970-01-01
  • 1970-01-01
  • 2014-02-28
  • 2023-04-03
  • 2011-05-13
相关资源
最近更新 更多