簡體   English   中英

運行運行時代碼的安全方式(XML文件編輯)C#

[英]Secure way to run runtime code (XML file editing) C#

我有一個CLI應用程序,它能夠使用一些參數來編輯XML文件。

但是,我現在需要一種更強大的方法來做到這一點。

我想為用戶提供使用.txt中的自定義代碼來編輯XML文件的選項,以完全控制XML編輯。

例如:

@CODE File<file name for XML editing>
<code>
# Custom XML parser/editing code
for elem in tree.iter(tag='location'):
if elem.text == 'J':
    elem.text = 'January'
</code>

在.net C#中,哪種方法最安全? 我的意思是用戶只能編輯XML文件,而不能做其他有損系統安全性的事情(例如刪除文件)?

我正在考慮使用Javascript引擎( 例如這種引擎)並從文件中運行javascript代碼。 我相信JavaScript會限制用戶的操作能力。 我也考慮過使用C#代碼和Python,但這可能會引入安全性問題。

編輯:一個要求是它必須在單聲道上工作。

我選擇了IronJS .NET運行時以及此處討論的JavaScript XML庫(用於<script> W3C DOM Parser的XML)。

我還尋找了其他javascript .NET運行時,例如:Javascript .NET,Jurassic和Jint(之所以選擇IronJS是因為性能更好)。 Plus還測試了一些.NET Lua庫(即Kopilua) ,但選擇了javascript解決方案,因為它似乎更完整,文檔更豐富且更易於使用。

暫無
暫無

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

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