如何在客户端/客户端计算机上积极运行PHP脚本?

时间:2019-03-05 08:49:39

标签: javascript php html html5 client-server

我试图直接在客户端上运行PHP脚本,而不是从客户端向服务器请求并接收回处理后的输出或文件。我创建了一个PHP脚本,该脚本在服务器端可以正常运行。我也想在客户端运行相同的PHP脚本。 PHP未安装在客户端,而仅安装在服务器端。通过使用<object>方法,我设法在客户端执行了一个PHP脚本。但这只是窗口或小框,在当前浏览器或本地计算机(或客户端计算机)的浏览器上的页面中可见。因此,每当调用PHP函数时,它都在服务器端而不是在客户端执行。

实际上也可以在客户端执行PHP函数吗?

OR

是否有一种方法可以在客户端上而不是在没有安装PHP的情况下在客户端浏览器上的整个窗口中打开整个PHP页面,而不是在小窗口或服务器页面的框架中打开它?

我尝试过的是:

我以“ SERVER.php” 创建了PHP脚本,该脚本显示了 SERVER计算机当前工作目录的所有文件的名称。

<?php
exec('dir', $status, $result);
var_dump($status);
?>

我想获取当前工作目录中所有文件的名称,但客户端计算机中。 我创建了一个“ CLIENT.html” 的html文件,该文件包含以下代码:

<object type="text/html" data="http://192.168.0.110:81/file2v2.php" width="800px" height="600px" style="overflow:auto;border:5px ridge blue">
</object>

基本上, html 中使用的对象函数包含 ip地址 ,后跟 < em>端口号 (Apache服务器)和服务器的 php文件名 (安装和定位了php)。

任何人都可以帮助我如何在客户端执行PHP函数或说完整的PHP脚本,或者如何完成它。

4 个答案:

答案 0 :(得分:1)

要在其中执行PHP脚本的所有客户端都需要安装PHP,以及正在运行的网络服务器(如果这些脚本是通过http访问的)。没有办法解决。

没有客户端代码的一种方法是为您的Web服务器提供SSH访问所有客户端的权限。 (这意味着在每台计算机上创建用户并赋予其必要的权限)。然后,服务器可以读取访问者的IP,通过SSH连接到它,并读取客户端的文件系统,并将其显示在浏览器中。这将是一种疯狂的方法,但可能。

查看以下内容:https://kvz.io/blog/2007/07/24/make-ssh-connections-with-php/

这还意味着,如果有人可以访问该服务器或可以以某种方式利用它,那么所有客户端也会受到威胁。

答案 1 :(得分:0)

我认为您应该看看客户端和服务器端之间的区别。看一下here,它可以解释很多。

从以上链接引用:

  

服务器端脚本和客户端脚本之间的主要区别

     
      
  1. 服务器端脚本用于后端,在源端客户端(浏览器)无法查看或隐藏源代码。另一方面,在客户端可以从浏览器看到的前端使用客户端脚本。

  2.   
  3. 处理服务器端脚本时,它将与服务器通信。与之相反,客户端脚本不需要任何服务器交互。

  4.   
  5. 客户端脚本语言涉及诸如HTML,CSS和JavaScript之类的语言。相反,诸如PHP,ASP.net,Ruby,ColdFusion,Python,C#,Java,C ++等编程语言。

  6.   
  7. 服务器端脚本可用于自定义网页和实现网站中的动态更改。相反,客户端脚本可以有效地最小化服务器的负载。

  8.   
  9. 服务器端脚本比客户端脚本更安全,因为服务器端脚本通常是从客户端隐藏的,而用户端脚本对用户可见。

  10.   


如果您希望在客户端完成所有逻辑,请看一下Angular,VueJS或只是基本的Javascript。但是,使用Javascript(包括Angular / VueJS / Etc。),您无法操作客户端文件,如果能够的话,这将是一个主要的安全问题。要在服务器端进行更改,您将始终需要使用诸如PHP,C#,Java等后端编程语言。

请注意,您在客户端执行的所有操作对于客户端都是可见的,并且可以由客户端更改。这会使您的应用程序容易受到攻击者的攻击。<​​/ strong>

要回答您的问题:您不能。

答案 2 :(得分:0)

例如,要运行脚本,您需要安装一个解释器,浏览器可以读取js脚本,但不能读取php脚本。

https://en.wikipedia.org/wiki/PHP

答案 3 :(得分:0)

基本上没有。

但是您可以阅读有关C#Blazor方法(https://dotnet.microsoft.com/apps/aspnet/web-apps/blazor)的信息,并尝试实现类似的方法。