PHP-Funktion: eval

Die folgende beispielhafte Implementierung in C# sollte nicht unbedacht übernommen werden (→ Erläuterungen):

Implementierung
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
public static void eval(string code_str) {
{
sourceCode.AppendLine("public static class Program {");
sourceCode.AppendLine(" public static void Main() {");
sourceCode.AppendLine(code_str);
sourceCode.AppendLine(" }");
sourceCode.AppendLine("}");
}

CompilerResults result = csc.CompileAssemblyFromSource(new CompilerParameters() {
GenerateInMemory = true
}, sourceCode.ToString());

result.CompiledAssembly
.GetType("Program")
.GetMethod("Main")
.Invoke(null, null);
}
}
Verwendung
01
02
03
04
05
/**
* Dieser Aufruf legt eine (leere) Datei
* "Eval-is-Evil.txt" an - nomen est omen!
**/
eval("System.IO.File.Create(\"Eval-is-Evil.txt\");");

Eine ausführliche Beschreibung der PHP-Funktion findet sich in der offiziellen Dokumentation.

Projektverweise

Kategorien / Archiv  |  Übersicht RSS-Feed

Schlagworte

Suche