社区
C#
帖子详情
如果将字符串的内容作为代码执行
qiang119
2008-04-01 09:01:14
例如:b="string a;";
如何 通过执行变量b 从而达到程序自动定义变量a ???
...全文
93
1
打赏
收藏
如果将字符串的内容作为代码执行
例如:b="string a;"; 如何 通过执行变量b 从而达到程序自动定义变量a ???
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sx_lxh
2008-04-01
打赏
举报
回复
动态编译。
例:获取字符串所表示的逻辑意义
/*****************************************************************
** 文件名: Eval.cs
** Copyright (c) 1999 -2003
** 创建人: Phoenix
** 创建日期:
** 修改人:
** 修改日期:
** 描 述: 获取字符串所表示的逻辑意义
** 版 本:1.0
******************************************************************/
public class Eval
{
public static object GetValue(string value)
{
string codeSnippet = "using System; " + "\r\n" +
"namespace CzG {" + "\r\n" +
" public class Eval" + "\r\n" +
" {" + "\r\n" +
" public Eval(){} " + "\r\n" +
" public object GetValue()" + "\r\n" +
" {" + "\r\n" +
" return " + value + ";" + "\r\n" +
" }" + "\r\n" +
" } }";
CodeSnippetCompileUnit unit = new CodeSnippetCompileUnit(codeSnippet);
CodeDomProvider compiler=new CSharpCodeProvider() ;
//ICodeCompiler compiler = new CSharpCodeProvider().CreateCompiler();
string[] referenceAssemblies={"System.dll"};
CompilerParameters para = new CompilerParameters(referenceAssemblies ,"Eval.dll",false );
//para.ReferencedAssemblies.Add("System.dll");
para.GenerateInMemory = true;
para.GenerateExecutable = false;
//para.OutputAssembly = "Eval.dll";
Assembly asm = compiler.CompileAssemblyFromDom(para, unit).CompiledAssembly;
Type type = asm.GetType("CzG.Eval");
MethodInfo mi = type.GetMethod("GetValue", BindingFlags.Public | BindingFlags.Instance);
object obj = asm.CreateInstance("CzG.Eval");
object ret = mi.Invoke(obj, null);
return ret;
}
}
SBJson解析库
ios SBJson库解析json文件 解析使用
lua-5.1中文手册
lua-5.1中文手册 在线查看:http://manual.luaer.cn 由http://www.luaer.cn 中国lua开发者友情提供!
Python 将
字符串
作为
代码
执行
这种技术可以用于动态生成和
执行
代码
,有时可以用于特定的应用场景,如动态生成函数或根据用户输入
执行
不同的
代码
逻辑。这个程序展示了如何在Python中使用
字符串
来表示
代码
,并通过。函数
执行
了这段
代码
,从而实现了将
字符串
转换为可
执行
代码
的目的。的
字符串
变量,它存储了一段Python
代码
。在这个示例中,程序定义了一个名为。中的
代码
的
执行
,结果输出了
内容
。函数
执行
该
字符串
中的
代码
。的函数,其中包含一个名为。函数,触发了对存储在。
9_任意
代码
执行
(
字符串
转换成
代码
执行
)
一、背景介绍 当应用在调用一些能将
字符串
转化为
代码
的函数(如php中的eval)时,没有考虑用户是否能控制这个
字符串
,将造成
代码
注入漏洞。狭义的
代码
注入通常指将可
执行
代码
注入到当前页面中,如php的eval函数,可以将
字符串
代表的
代码
作为php
代码
执行
,当用户能够控制这段
字符串
时,将产生
代码
注入
代码
注入漏洞(也称命令
执行
)。广义上的
代码
注入,可以覆盖大半安全漏洞的分类。 二、漏洞成因 ...
java将
字符串
转换成可
执行
代码
使用commons的jexl可实现将
字符串
变成可
执行
代码
的功能 通用工具类: /** * * @author: Longjun * @Description: 使用commons的jexl可实现将
字符串
变成可
执行
代码
的功能 * @date:2016年3月21日 下午1:45:13 */ public static Object convertToCode
C#
111,110
社区成员
642,556
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章