如何使prestashop维护模式与动态IP一起工作?

如何使prestashop维护模式与动态IP一起工作?,ip,prestashop,maintenance,Ip,Prestashop,Maintenance,Prestashop的维护模式使用IP地址的白名单。问题是,我的客户端经常没有可用的静态公共IP,它们使用dhcp。有人知道如何使前端可用吗?我想这是最简单的解决方案: 转到: 管理->配置文件 创建名为“访问者”的新配置文件 然后: 管理->访客 对于您在“过程->维护”下的请求,请为查看添加标志,也可以为编辑添加标志。这不是问题。 授予您要授予此配置文件的所有其他权限 使用此配置文件创建一个帐户并将其提供给您的客户,当他的IP发生变化时,他必须在后台添加他的IP,使用此配置文件他不能造成损害

Prestashop的维护模式使用IP地址的白名单。问题是,我的客户端经常没有可用的静态公共IP,它们使用dhcp。有人知道如何使前端可用吗?

我想这是最简单的解决方案:

转到:

管理->配置文件 创建名为“访问者”的新配置文件 然后:

管理->访客 对于您在“过程->维护”下的请求,请为查看添加标志,也可以为编辑添加标志。这不是问题。 授予您要授予此配置文件的所有其他权限 使用此配置文件创建一个帐户并将其提供给您的客户,当他的IP发生变化时,他必须在后台添加他的IP,使用此配置文件他不能造成损害。显然,您的客户必须知道管理面板的URL


否则,您的客户每次都必须要求您在维护字段中添加他们的IP。

我通过使用一个简单的shell脚本来完成这项工作,该脚本通过cron定期执行。它使用dig获取当前IP地址,将其包含在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

我相信有一种更优雅、更高效的方法可以做到这一点,但它确实有效。

你是说本地网络吗?不,我是说生产远程站点啊,网络提供商通常不提供静态IP