我正在尝试管理一个网页的少数用户控制

I am trying to manage a small number of users control of a webpage

本文关键字:网页 一个 控制 用户 管理      更新时间:2023-09-26

因此,首先,我有一个树莓pi,在arch上运行一个lighttp服务器。我有一个网页,一次最多可以连接10个人。每个用户都将被赋予标签"Master"或"observer"。网页将有只有"Master"才能使用的控件。

提醒一下:我只是在学习这方面的大部分内容,所以我可能会在如何完成这方面犯一些错误。

我最初的想法如下。当用户连接到数据库时,他们的IP地址将被获取并插入SQLite数据库,以及用户标记和连接时间。在那里,当用户试图执行各种命令时,我可以查询数据库中的用户标签。

我使用的任何东西都需要非常轻,并且不在用户设备上存储cookie。

这是我目前拥有的JavaScript,它可能不是最高效的,但我计划让它工作起来,然后让它看起来很好看。

这段代码应该连接数据库并插入用户。

<script type="text/javascript" src="http://l2.io/ip.js?var=myip"></script>
<script type="application/javascript">
    var db = openDatabase('userCon.contbl.sqlite', '1.0', 'contbl', 1024);
    db.transaction(function(transaction) {
       var ip = myip;
       var conStatus = "master"
       var date = new Date();
       console.log('Inserting into the database ' + ip + ',' + conStatus +',' + date);
       transaction.executeSql('INSERT INTO contbl(ipAd, conType, lastActive) VALUES (?,?,?,?)',[ip,conStatus,date], function(transaction, results) {
       }, function (transaction, err){  
             console.log(err.message+":Error"); // here an error
          });
    });
</script>
<script type="application/javascript" src="http://jsonip.appspot.com/?callback=getip">  </script>

我无法连接到我在pi上创建的SQLite数据库,经过我的研究,这可能是因为SQLite应该在本地运行,而不是在服务器上运行。

是否有某种方法可以指向pi上的SQLite数据库,或者是否有更好的资源用于此类任务?

编辑:

我想我最初的帖子不够具体。基本想法是,我需要能够将网页中的一点点信息传递回托管它的服务器。即,用户连接到服务器并发送其IP,然后服务器将该IP标记为控制器的观察员。从那里,服务器将根据用户被标记的方式,对每个查看网页的人进行不同的处理。

我最初的计划是使用像SQLite这样的轻量级数据库,但正如我发现的那样,SQLite只是本地使用。我需要在连接数低于10的服务器上执行此操作。

我希望有人能给我一个建议,或者一个例子来解决这个问题。

目前,在网页上运行的javascript与服务器对话的最常见方式是某种RESTful web服务。

你会想要找到一种在Pi上运行的服务器端编程语言。也许是node.js?它类似于javascript,但在服务器上,请参阅此处:http://weworkweplay.com/play/raspberry-pi-nodejs/

然后,您可以用服务器端语言编写任何想要的方法,这些方法与数据库对话,然后让客户端javascript调用这些方法。谷歌"REST服务节点.js",你会发现很多操作方法。

如果SQLite数据库在服务器上运行,并且此代码在用户浏览器中运行,则它无法连接到数据库。浏览器和服务器之间唯一的交互是HTTP,除非服务器中存在巨大的安全漏洞。

相关文章: