簡體   English   中英

使用 PHP 將 C++ 編譯為二進制文件

[英]Compile C++ to binary using PHP

我有一個用戶想要下載的程序。 與其提供下載鏈接,然后他們下載程序並輸入信息,我寧願讓我的 PHP 腳本來做。

我的網站需要用戶名和密碼才能登錄,有一個用戶可以下載文件的私人頁面。 當用戶進入“下載”頁面時,用戶必須選擇頁面上的特定選項。 一旦選擇了選項並且用戶單擊“下載”,我希望 PHP 轉到我的程序源,在源中添加缺少的數據,將其編譯為 .exe,然后將其返回給用戶。

問題是,我不知道如何做到這一點,我害怕 PHP 會為一個用戶提供信息,而無意中將一個用戶的信息提供給其他所有人。

我怎樣才能讓每個二進制文件都不同?

我目前正在 Windows 中制作我的程序(使用 Code::Blocks),但我將在 Linux 或 FreeBSD 服務器上托管文件。 只是想把它說出來,以防萬一我需要知道一些事情。

由於您實際上允許用戶在您的服務器上輸入任意代碼,這似乎是一個嚴重的安全風險。 為什么需要自定義可執行文件? 可以是配置文件嗎?

如果你想繼續這個,它可以很容易地完成。 也許使用像 Mustache 這樣的模板引擎(不是 C++ 語言功能模板)。 編寫您的源文件以包含此胡須模板。

當用戶發布信息后,您只需要運行命令來應用模板以獲取完成的源代碼,然后運行您的 makefile 以生成完成的可執行文件。 然后你可以像其他任何東西一樣給予它。

如果您想確保用戶無法獲得相同的二進制文件,一個簡單的方法是在每次運行后刪除完成的可執行文件。 有更好的方法可以做到這一點,但這很容易。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM