2011-09-09 44 views
2

我读过一些关于ChartImageHandlerstorage选项的文章,它似乎有3个选项,我对此有疑问;MS Chart ChartImageHandler存储选项

  1. 如果我们选择file选项,那么由ms chart创建的图像将首先存储在我们指定的位置。我想知道我们是否在C:\TempImageFiles地址中指定了默认位置,是否有安全考虑?我的意思是MS Chart下windows user访问此文件夹并在其上写入图像?这有一个黑客风险?

  2. 如果我们选择memory图片存储在主内存中,然后如果我们指定选项deleteAfterServicing=true下载到客户端后它将被删除。我想知道如果我们选择ImageStorageMode="UseHttpHandler"图表选项,任何黑客是否可以使用Chart.axd并多次调用并导致内存溢出? MS Chart做什么来防止这种情况发生?

  3. 如果我们选择session存储在一个会话中的图像,我想知道任何黑客可以使用Chart.axd,调用它多次导致内存溢出?如果在创建图像时出现任何异常,是否删除会话?下载到客户端后,它是否也删除会话?

回答

0

在文件系统上创建文件可供其他有权访问本机的Windows用户使用。这些文件将由ASP用户创建,因此您可以将文件夹访问权限限制为该用户,从而防止对其他普通级别用户的可见性 - 尽管系统管理员很可能拥有完全访问权限。

在网络服务器的内存中创建图像会触发内存溢出,因此使服务器易受攻击的程度不会比其他耗费内存的IIS部分更加不安全。例如,如果恶意用户在您的Web服务器上创建了许多匿名会话,则它们可能会触发相同的内存状态。因此,我会说使用方法2和3时您的安全风险非常低。