服务报价 | 域名主机 | 网络营销 | 软件工具| [加入收藏]
 热线电话: #
当前位置: 主页 > php教程 > wordpress教程 >

适用任何WordPress网站的免费SSL杂志社(2)

时间:2016-09-20 11:46来源:未知 作者:最模板 点击:
谨慎操作,如果你过早更新这些设置,你有被锁定的风险。例如,如果网站没有正确配置HTTPS设置和更新, 可能会因重定向问题而损坏你的网站 或 阻止你

谨慎操作,如果你过早更新这些设置,你有被锁定的风险。例如,如果网站没有正确配置HTTPS设置和更新, 可能会因重定向问题而损坏你的网站 或 阻止你登录仪表盘。

在这之后,你应该能够通过HTTPS访问该网站。然而,页面链接仍然指向 HTTP 的 URL。WordPress 商店链接的页面和图片需要绝对的URL,意味着需要完整的URL,包括协议,被保存在数据库当中。以确保整个网站是通过HTTPS进行访问的(混合内容的警告除外),你将要更新你的历史内容。

更新历史内容

在只有几页的小站上,最快的方法可能是在管理员接口通过手工编辑现有的页面更新URL地址。如果是大型网站或者高活跃的博客,通过手工编辑或许是不太实际的。如果你的主机提供phpMyAdmin或其他一些MySQL查询接口, 你可以在SQL的选项里进行简单的MySQL查询。 另外, 你也能根据 自定义窗口说明 在命令行实现它。

执行该操作有一定的风险,下面 使用 yourdomain.com 代替下面的真实域名查询。 另外,如果你已经修改了WordPress的表前缀,代替与 wp_ 相关的前缀。

首先,更新文章和网页的 URL。

UPDATE wp_posts SET guid = replace(guid, 'http://yourdomain.com','https://yourdomain.com');`

[更新: 在评论中讨论过, guid 不应该被编辑 .]

接着更新 wp_postmeta 表单。

UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://yourdomain.com','https://yourdomain.com');`

最后,更新帖子或页面的目录,这会更新所有的链接到HTTPS。

UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://yourdomain.com', 'https://yourdomain.com');`

当运行这些查询语句后,会将一些设置更改为默认值,你需要在 “Settings” → “Permalinks.”去更新你的永久链接,将其设置回你最初使用的设置。

现在,你应该能够点击网站的所有菜单和目录,并保持着 HTTPS 协议。

###混合内容警告的故障排除

根据主题和插件的使用,你可能会在地址栏中得到一个警告,某些资源没有被安全地服务。如果这个错误是因为你自定义主题 或 添加的相关插件导致的, 确保 enqueue JavaScript 和 CSS 文件 正确,没有从 HTTP 开始硬编码。大多浏览器会让你从扩大的警告框中获得引起错误的信息。你也可以尝试一下免费的插件,如 SSL Insecure Content Fixer , 这能完善未能做到这一点的第三方插件。

目前为止, 在地址栏访问你的网站时应该能够看到绿色的挂锁。如果您不使用电子商务的插件,如WooCommerce或WP eCommerce,你大功告成了!但如果你使用了,则还有重要的一步。

获得 Flexible SSL 电子商务工作插件

WordPress 有一个命名为 is_SSL() 核心函数用于判断网站是否依靠SSL加密进行通讯。利用上面的方法单独请求, 这个功能会返回 false 因为此加密只存在于CloudFlare 和 客户端 间。 在PHP交互与交通是加密的,所以用超全局检查 (例如 $_SERVER['HTTPS'] ) 没有任何意义。为了达到我们的目的, 相关的变量应该是 $_SERVER['HTTP_X_FORWARDED_PROTO'] , 不管怎样, 在写作的时候, WordPress 是不承认的. 这个 request to change this 是长期存在的, 但它还没有解决。

幸运的是, 有一个免费的插件能帮你解决问题, CloudFlare Flexible SSL . 只需要安装并激活它 这种技术 不会增加更多的安全性 . 与你网站的服务器之间的通信是仍然加密的, 因此, 你仍然容易受到嗅探攻击。

Flexible SSL 是不完整的 SSL

CloudFlare 的 “Universal SSL” 是提倡建立更安全的互联网的其中的一个有趣的试验, 但它并非没有争议。 它备受争议的问题是flexible SSL并没有加密下半段的通信(到你的服务器), 然而浏览器地址栏还是使用了绿色的挂锁,它表现得和完整的SSL没有任何区别 CloudFlare在它博客所提供的理由 :

拥有顶尖的加密对于小博客或许不是特别重要, 但对互联网加密发展的推动是至关重要的. 每一个字节, 或许看似平凡, 但通过加密的流量却使那些希望截拦的恶意攻击变得更加困难, 节流, 或审查网络. 换句话说, 确保你的个人博客通过HTTPS更加容易让人权组织或社会媒体服务或独立记者能在世界各地访问. 我们能一起做伟大的事情。

是好是坏, flexible SSL 在这, 互联网会更加适应. 在此期间,是对网站所有者进行教育的负担和如何做出负责任的决定。

HTTP请求重定向到HTTPS

网站虽然开启了HTTPS但并不确保该网站真正使用了该协议.如果你的网站有了一段的时间,HTTP可能已经保存进用户的书签里,你则需要在你的网站根目录添加以下代码段到 .htaccess 文件上去把所有的HTTP请求重定向到新的协议。 如果该文件不存在, 你可以放心地去添加它。

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{HTTP:X-Forwarded-Proto} !https
    RewriteRule (.*) https://yourdomain.com/$1 [R=301,L]
</IfModule>

如果 .htaccess 该文件已存在, 小心操作,不要在该文件的 # BEGIN WordPress与 # END WordPress 代码间进行任何改变,这些代码用于操控WordPress, 且无论何时当固定链接更新时, 这些内容会被覆盖。

祝贺你

你的网站升级到 HTTPS, 你的网站得到了改进, 保护了用户并促使了互联网的进步。 而你并不需要付出什么。

(责任编辑:最模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------