[英]Execute a PHP script file on a remote server without copying it on the remote server
我有兩個 (linux) 服務器:A 和 B
PHP 腳本在 A 上,我想在 B 上執行它但不在 B 上復制它,這個腳本永遠不應該存在於 B 上(僅在 ram 中),所以沒有“在 B 上復制,在 A 上執行來自 ssh 命令,在上擦除乙”。
我有 ssh 鍵可以從 A 訪問 B,但不能從 B 訪問 A。可能是這樣的:
ssh root@B 'php -r ' | echo /myscript/on_serverA
要么
<?php
$script=file_get_contents('executable_php_script');
system('ssh root@IP \'php -r "'.$script.'"\'');
有任何想法嗎?
注意:這是一個非常具體的案例,所以我不需要替代或安全建議。
ssh
的內容都將傳遞到正在運行的程序的 STDIN 中因此:
ssh example.com php < test.php
…將 ssh 轉換為example.com
,在那里運行php
和 pipe test.php
的內容從本地機器進入遠程php
。
關於對該問題的評論:請注意,如果對example.com
具有根訪問權限的人想要竊取腳本,他們可以將php
可執行文件替換為包裝器,該包裝器將 STDIN 記錄到文件中,然后再將其轉發到真正的php
。 這遠非防彈安全措施。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.