Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了使用node.js替换apache / nginx并执行php安全性大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个用node.js编写的网络服务器,它几乎只是为用户提供静态文件.为了添加 PHP支持,我想我可以下载 PHP并给PHP.exe文件.如果它由单个用户使用,那将是有效的.对于多个用户将在服务器上托管其网站的环境,它会带来巨大的安全问题.可以使用PHP本来执行他/她想要的任何其他网站甚至整个服务器.

哦,我提到它是一个Windows服务器?

无论如何,所以我想要的是获得一些权限,以保持PHP脚本在特定目录中.
我正在虑为我将应用适当权限的每个网站创建用户的方向,而不是使用像’run as’这样的东西执行PHP.exe(假设它是可能的).
我还有其他方法可以实现我的目标吗?如果是这样他们会更好吗?为什么这样?

如果您有兴趣,我的代码如下:http://pastebin.com/gZjN1mnj

另外我知道$_POST,$_SERVER,$_COOKIE,$_SESSION等在使用我的服务器时都会丢失,但我已经虑过如何解决这个问题,并对其进行了一次成功的测试.

现在我已经感受到了回答:你为什么要那样做?或者不,apache / Nginx更好,等等.
虑它是一个学习过程,我只是感兴趣,我是否可以实现所有工作^^

谢谢.

解决方法

恭喜您开发的混合包franken平台:)

切换到Linux使用process.setuid

Node.js是一个很棒的网络服务器,@R_847_9447@看到它的吸引力.您通过在Windows上运行节点和PHP来游泳.如果你有控制权,我会切换到linux.

如果你在Linux中运行,Node有一个内置函数process.setguid和process.setuid你必须是root才能运行这些,但是node.js程序可以作为root运行为每个用户生成一个节点进程,然后监禁自己和将所有流量路由到被特定用户监禁的子节点进程.

为每个用户都有一个特定的PHP.ini

您可以使用PHP安全模式,base_dir和其他ini命令来尝试将PHP缓存到特定的目录树.这是不稳定且不完整的,并且由于存在错误方法,许多这些功能在最新版本中已被弃用或删除.但是用你的PHP命令行调用传入一个ini文件是微不足道的.

使用第三方RUNAS实用程序

要在Windows中真正拥有用户安全性,您必须运行类似autoIT RunAs的东西
http://www.autoitscript.com/autoit3/docs/functions/RunAs.htm

与普通的runas命令相反,这个命令允许您指定密码,以便可以从您的节点进程运行.

大佬总结

以上是大佬教程为你收集整理的使用node.js替换apache / nginx并执行php安全性全部内容,希望文章能够帮你解决使用node.js替换apache / nginx并执行php安全性所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。