用户导航时是否可以删除整个网页?

时间:2014-02-02 16:43:06

标签: javascript php python html cookies

如果用户离开网页,是否可以执行php脚本?

我知道Javascript可以执行..

$(window).bind('beforeunload', function(){
    return 'DataTest';
});

Cookie可能有效,但我不确定听众如何跟踪过期的Cookie,然后删除正确的网页。

示例文件系统是这样的:

  • user0814HIFA9032RHBFAP3RU.php
  • user9IB83BFI19Y298RYBFWOF.php
  • 的index.php
  • listener.py
  • data.txt中

通常,要创建网站,php会写入data.txt,Python侦听器会接收此更改,并创建文件(用户[numbers])。您可能认为,这些文件会超时累积,需要删除。

2 个答案:

答案 0 :(得分:2)

http协议是无状态的,因此用户根本无法“导航”。 浏览器需要一个页面,服务器返回它,通信停止。 服务器没有可靠的方法来了解客户端将对该页面执行的操作。

答案 1 :(得分:0)

免责声明:我不确定,正如福克斯所指出的那样,这是你的正确方法。我实际上赞成了福克斯的回答。

但是,如果您绝对需要在用户离开后立即删除每个页面,请使用:

$(window).bind('beforeunload', function() {
    $.ajax('yourscript.php?currentUser=0814HIFA9032RHBFAP3RU');
});

然后在yourscript.php中,输入如下内容:

<?php

// load your userId (for example, with $_SESSION, but do what you want here)
$actualUser = $_SESSION['userId'];

// checks if the requested id to delete fits your actual current user's id
if (isset($_GET['currentUser'] && $_GET['currentUser'] == $actualUser)
{
    $user = $_GET['currentUser'];
    $file = 'user'.$user.'.php';

    unlink($file);
}