小编Dir*_*ter的帖子

在Python中评估来自不安全用户输入的数学方程式

我有一个网站,用户输入数学方程式(表达式),然后根据网站提供的数据(常数)评估这些方程式.所需的数学运算,包括符号,算术运算min(),max()以及其他一些基本功能.一个示例等式可以是:

max(a * b + 100, a / b - 200)
Run Code Online (Sandbox Code Playgroud)

人们可以简单地eval()使用Python,但我们都知道这会导致网站泄露.进行数学方程式评估的安全方法是什么?

  • Python有什么数学方程式解析和评估引擎

  • 如果选择使用Python本身来评估表达式,那么任何Python沙箱都会限制Python,因此只有用户供应商操作符和函数可用.完全成熟的Python,如定义函数,应该完全禁用.子流程是可以的(参见PyPy沙箱).特别是,应该关闭用于利用内存和CPU使用的循环和其他漏洞.

  • 任何其他方法,例如使用命令行二进制(bc)?

python eval sandbox

25
推荐指数
2
解决办法
1798
查看次数

如何使用Syncfusion Metro Studio生成的XAML词典

为了解决分辨率,我们需要缩放艺术 好的,因此堆栈中提到的常见来源是Syncfusion Metro Studio.

Metro Studio 2为XAML生成:

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
  <Viewbox x:Key="error">
    <Grid Width="64" Height="64" Visibility="Visible">
      <Grid Visibility="Visible">
        <Rectangle Fill="#FFD21818" Visibility="Visible" />
        <Ellipse Fill="#FFD21818" Visibility="Collapsed" />
        <Path Data="M50.5,4.7500001C25.232973,4.75 4.75,25.232973 4.7500001,50.5 4.75,75.767029 25.232973,96.25 50.5,96.25 75.767029,96.25 96.25,75.767029 96.25,50.5 96.25,25.232973 75.767029,4.75 50.5,4.7500001z M50.5,0C78.390381,0 101,22.609621 101,50.5 101,78.390381 78.390381,101 50.5,101 22.609621,101 0,78.390381 0,50.5 0,22.609621 22.609621,0 50.5,0z" Stretch="Fill" Fill="#FFD21818" Visibility="Collapsed" />
      </Grid>
      <Path Data="F1M54.0573,47.8776L38.1771,31.9974 54.0547,16.1198C55.7604,14.4141 55.7604,11.6511 54.0573,9.94531 52.3516,8.23962 49.5859,8.23962 47.8802,9.94531L32.0026,25.8229 16.1224,9.94531C14.4167,8.23962 11.6511,8.23962 9.94794,9.94531 8.24219,11.6511 8.24219,14.4141 9.94794,16.1198L25.8255,32 9.94794,47.8776C8.24219,49.5834 8.24219,52.3477 9.94794,54.0534 11.6511,55.7572 14.4167,55.7585 16.1224,54.0534L32.0026,38.1745 47.8802,54.0534C49.5859,55.7585 52.3516,55.7572 54.0573,54.0534 55.7604,52.3477 …
Run Code Online (Sandbox Code Playgroud)

c# wpf syncfusion resourcedictionary

2
推荐指数
1
解决办法
1222
查看次数

标签 统计

c# ×1

eval ×1

python ×1

resourcedictionary ×1

sandbox ×1

syncfusion ×1

wpf ×1