私はユーザーが.zip
ファイルをダウンロードし、サーバーにアップロードして行けるようにするWordpressに似たサイトプラットフォームを構築しています。evalリモートコード私のサーバーから
eval()
は悪ですが、コードにはユーザーや変数の入力は含まれません。
ここでの利点は、更新が自動的に行われることです。私はちょうど私のサーバーでつかまえられているコードを変更することができます。
このコードを使用しているクライアントでは、トラフィック量がかなり少ないため、サーバーのオーバーロードに心配はありません。重い持ち上げのほとんどは私たちによって行われます。
$code=file_get_contents("http://myserver.com/code.txt");
eval($code);
これは現実的な選択肢である:
ここでは基本的なコードの概念がありますか?どのようなセキュリティホールを心配する必要がありますか?
私の頭に浮かぶ最初のことは、コードを評価するときにユーザがあなたのマシンにフルアクセスできることです。そのため、彼はあなたのホームディレクトリを削除し、そのようなものを包むことができます。問題は、自分のユーザーを信頼できるかどうかです。もしそうなら、細かい、そうでなければ、注意してください。つまり、データベースにアクセスできないディレクトリが適切なCHMOD設定で適切に保護されている限り、あなたは**安全**であるべきです**しかし、私はそうしませんそれはちょうど私の意見です。とにかく簡単に言えば、ユーザーの可変入力のためにevalは悪いことではありません。 – briosheje
私はあなたのシステムが後方にあると思います。投稿されたコードは私の*クライアント*サーバに置かれます。彼らのサーバーは* my *サーバーのコードを取得して評価します。 – hellohellosharp
ああ、それはあなたのクライアントの問題だ:P簡単に言えば、彼らは**悪いかもしれない**のコードを入手することに同意するが、彼らが**あなたを信頼する限り、それは大丈夫だ。誰かがあなたに注射する方法を見つけたら、注射されるでしょう。危険であるかもしれませんが、それで大丈夫で、彼らがあなたを信じている限り、それは大丈夫です。ただし、コードを評価するとデバッグ/読み取りが非常に難しくなることに注意してください。その点も考慮してください。そのコンテキストでは、とにかく、それはむしろ本当にあなたの "問題"です。:) – briosheje