是否可以从网页运行节点脚本
Is it possible to run a Node script from a web page?
我现在正在寻找几天,但没有得到答案。我想做以下几点:
- 用户连接到编辑器.html(Apache2 与基本 http 身份验证)
- 用户想用他的user/pass在服务器上打开一个文件(比如说/home/user1/myfile.txt)(与passwd相同)
- 节点.js脚本从上面获得用户权限的启动,用户可以编辑文件
节点脚本将通过 websocket 处理连接并读/写文件。
我认为最大的问题是无法从网页在服务器上运行节点脚本......而且我不想涉及任何 php/cgi 脚本......只有 Apache 和 Node.js/JS。
如果您知道这真的是不可能的,也请发表评论或回答......
谢谢!
柯达
编辑:工作流应如下所示:用户访问网页 ->输入他的凭据(与 passwd 中的相同) ->节点.js脚本以登录用户的用户权限开始 -> 使用用户权限读取或写入文件
最大的问题:谁启动 Node.js 脚本?阿帕奇?如何?
我讨厌成为这个人,但是...
这不是 node 的设计方式,它被设计为使用事件循环,我建议让 node 提供静态文件,也许使用 apache 作为代理,然后当有人请求某个页面时,做需要做的事情,如果你真的必须生成一个子进程,请使用 child_process.spawn
, 至于用户的权限,我建议只传入一个代码,比如 1=admin、2=user、3=guest,子进程可以做需要的事情。
使用 Socket.io - Socket.IO 官方网站
您还可以将 Express 与套接字 IO 结合使用来创建单独的应用服务器。 - 快递JS网站
您可能需要考虑允许用户使用其服务器端帐户直接连接的安全隐患。还有许多可用的应用程序已经这样做了,您可以考虑实现这些应用程序,而不是编写自己的应用程序,并具有所需的所有正确嵌入的安全性。
让您的用户无需任何身份验证即可获得静态身份验证.html页面(通过 apache)。
让表单提交操作是一些身份验证.js(节点.js脚本)。此身份验证.js检查用户的身份验证是否成功。如果是这样,它会启动node.js服务器,在其上设置 socket.io 并将用户重定向到某个编辑器.html。
在这种情况下,您可以注意到存在基于节点.js脚本的身份验证。如果你想要基本的apache2,我可以向你推荐下一个场景:
服务器上有身份验证.html和编辑器.html页面。最后一个放在/private
文件夹中并直接访问此文件夹被 .htaccess 拒绝。因此,当用户在身份验证中传递 apache2 身份验证时.html他会得到这个身份验证.html这是一个空文档onload
带有将 AJAX 发送到身份验证.js(Node.js脚本)的事件处理程序。节点.js获取private/editor.html
并将其发送给用户,如/editor.html
。
在这种情况下,如果不通过身份验证,用户永远无法访问编辑器。在身份验证节点之后.js服务器启动并设置 socket.io 一切正常。
我找到了一个解决方案:
可以使用mod-auth-external为apache编写自定义身份验证程序:https://code.google.com/p/mod-auth-external/
启用基本身份验证后,Web 服务器会将凭据传递给脚本/程序,然后可以运行节点应用程序。
- 茉莉花节点测试;t正在运行
- 如何在没有单词的情况下从命令行运行Node.js程序'节点'
- 保持节点服务器运行”;观看“;让事情发生
- 检查在使用节点运行程序时是否给出ARGV
- module.js在运行iron节点时找不到模块
- 获取docker容器中运行的节点应用程序的IP地址
- 在 cmd 上运行节点 js
- 是否可以从网页运行节点脚本
- 尝试运行节点 http 服务器时出现绑定错误
- 运行节点.js永远的脚本
- 如何在 azure 网站子目录中运行节点.js应用
- 如何运行节点服务器
- 运行节点程序时出错.模块'提示'不起作用
- 第二次运行节点项目需要很长时间才能加载(在Windows 10上)
- 如何运行节点js在我的基于linux的服务器
- 无法运行节点js应用程序监听443
- 在另一个JavaScript应用程序中运行节点应用程序
- 如何使用自定义命令运行节点文件
- 无法运行节点app.js文件
- 代码在运行节点控制台时有效,但在调用节点
时无效