如何使 prestashop 维护模式与动态 IP 一起工作?
Posted
技术标签:
【中文标题】如何使 prestashop 维护模式与动态 IP 一起工作?【英文标题】:how to make prestashop maintenance mode work with dynamic IP? 【发布时间】:2015-02-10 09:24:03 【问题描述】:Prestashop 的维护模式适用于 IP 地址白名单。问题是我的客户经常没有可用的静态公共 IP,他们在 dhcp 上。任何人都知道有什么方法可以让前端可用吗?
【问题讨论】:
你是指本地网络吗? 不,我的意思是生产远程站点 啊,网络供应商通常不给静态ips 【参考方案1】:我猜这是最简单的解决方案:
转到:
管理 -> 配置文件 创建新的个人资料(命名为“访客”)然后:
管理 -> 访客 (根据您的要求)在 Precerences -> Maintenance 下为 View 添加标志,添加(也许也用于 Edit 这不是问题)。 授予您要授予此配置文件的所有其他权限使用此配置文件创建一个帐户并将其提供给您的客户,当他的 IP 更改时,他必须在后台添加他的 IP,使用此配置文件他不能造成损坏。 (显然,您的客户必须知道管理面板的 URL)
否则您的客户必须每次都要求您在维护字段中添加他们的 IP。
【讨论】:
【参考方案2】:我通过使用一个简单的 shell 脚本来完成这项工作,该脚本通过 cron 定期执行。它获取当前IP地址(使用dig),将其包含在保存到文本文件中的mysql语句中,然后对Prestashop数据库执行MySQL查询,直接更新包含维护IP地址的相关配置记录。
#!/bin/sh
echo -n "UPDATE ps_configuration SET value=\"" > update.sql
dig +short yourdomain.com | tr -d '\n' >> update.sql
echo "\" WHERE name=\"PS_MAINTENANCE_IP\";" >> update.sql
/usr/bin/mysql --user='username' --password='password' yourdatabase < update.sql
我确信有一种更优雅/更有效的方法可以做到这一点,但它确实有效。
【讨论】:
以上是关于如何使 prestashop 维护模式与动态 IP 一起工作?的主要内容,如果未能解决你的问题,请参考以下文章