繁体   English   中英

在网站上执行代码而无需访问网站PHP

[英]Executing codes on website without the website being accessed PHP

我不知道这是否可能甚至存在,但我很想知道。 我不想给出错误的想法,并且在给出示例之前肯定会描述我要实现的目标-因此,我将直接研究它。

据我所知,网站上的代码仅在有人访问这些网站时才会执行。 如果没有人访问那些网站,那么代码就在那里。 如果没有人使用这些代码,则没有理由运行,对吗?

现在我要提出的建议听起来很荒谬,但请听我说。 我不知道是否有办法做到这一点,所以我只想问一下。 有没有办法在没有人访问网站本身的情况下运行这些代码?

现在我知道你们中的一些人就像:“嗯?他在说什么?如果网站上没有人,您为什么还要运行代码?从字面上讲是没有意义的,”所以我将尝试证明为什么我希望这样的事情成为可能。

例如,如果您要创建一个脚本来自动注销用户(如果该用户在一段时间内保持不活动状态),则需要检查他们最近一次是否处于活动状态(等待之前需要等待的时间)将其注销)。 您可以使用AJAX来检查它们是否在最近一次处于活动状态(等待注销之前需要等待的时间)。 如果他们导航或刷新页面,它将重置计数器,并让您知道它们最近一次处于活动状态(等待注销之前需要等待的时间)。 但是,如果它们什么都不做(在注销之前需要等待的时间),它们将被自动注销。

如果他们关闭了浏览器,或者退出了使用AJAX监视进度的选项卡,它将不再监视进度,因此不会更新其计数器,因此您将不知道它们是否处于活动状态。 如果他们关闭标签页或浏览器,您不能只注销它们,因为如果您的网站上有多个标签页或浏览器打开怎么办? 然后,您只想在它们关闭所有它们时注销它们。

我还有其他示例,但这是要点。 有没有一种方法可以在网站上执行代码而无需用户访问网站? 谢谢。

您正在寻找cron jobs 它们基本上是按计划在预定时间运行的作业。 cron作业可以运行各种脚本,包括PHP脚本。

我不知道这样的脚本是否可以轻松清除过期的会话。 这可能取决于您存储会话的方式。

在网站上实施它可能同样容易。 如果存储了用户的上一个活动时间戳记,则只需检查一个新请求,该时间戳记是否太旧,如果是,则删除该会话并重定向到登录页面。 这样,用户正式保持登录状态,直到他们的下一个请求。

(可选)您可以删除PHP记住的旧会话。 请参阅相关问题: 清理PHP会话文件

一种方法是,您可以使用CRON作业在计时器上运行PHP脚本。 这些作业通常每隔x个小时,几分钟或几天重复一次。

不过,我不确定您提供的示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM