2016-09-27 109 views
0

如何 '注入' 變量(和值)尋找一種方式來:PHP,我在記憶

  1. 定義PHP全局變量:

    • 如果執行一個php文件A,文件B ...我可以在apache運行時訪問這個變量。
  2. 「隱藏」我不想要這個變量的值是容易找到的這個變量

    • 價值,如果有人訪問服務器和搜索(通過由例如grep的-nri)在PHP這個變量的值文件

我的問題是:

  • 有沒有辦法在內存中注入一個全局持久化(而Apache運行時)變量,而無需在服務器中的任何文件中定義它的值?

=>如果我創建一個簡單的PHP表單,用戶可以在其中設置並提交此變量的值,那麼如何保存此變量的值,因爲它可以從任何PHP文件訪問?

問獎金:

  • 是否有通過C或Java程序注入的使用PHP變量的方法嗎? (通過編譯的程序)
+3

這就提出了一個問題:你想這樣做,爲什麼呢? – PeeHaa

+0

PHP提供了一些訪問共享內存的功能(請參閱http://php.net/manual/en/intro.sem.php),但是如果您想真正隱藏操作系統上其他進程的值,那麼您將需要以某種方式加密內容。 – iainn

+2

除非你想每次手動重啓服務器,否則在磁盤上不留下任何痕跡是非常不切實際的。文件權限通常用於解決該問題。你的用例有什麼特別之處,你不能使用遍佈全球的無數系統管理員使用的技術? – deceze

回答

0

在您的PHP腳本和/或程序中。如果您可以在.htacces中執行此操作,則可以在虛擬主機配置中執行此操作。

echo $_SERVER['MY_VAR'] 

還有PHP函數來設置您的PHP ini值。

在你第一個文件

<?php 
$uniqid="Hello"; 
putenv("UNIQID=$uniqid"); 
?> 

在你第二個文件

<?php echo getenv('UNIQID') ?> 

我不知道的方式來填充$ENV,或者是SetEnv將做到這一點。以上是值得研究的var_dump($ENV)

進樣PHP變量到JAVA

Process runtime = Runtime.getRuntime().exec("php -r 'echo getenv(\'UNIQID\');'"); 
+0

好的,謝謝:) – user2137454

+0

@downvoter,我可以知道理由downvote或良好的解決方案嗎? –