Unable to load DLL 'gdiplus.dll': 拒绝访问。

这两天,公司的一个客户平台突然发现里面的所产品都不能发布了。

偶立刻对他们的平台进行了测试。最终把目标锁定在几行图形缩略的代码上面。由于改公司的平台用户发布的产品图片都要进行检测和裁剪,以便能够让产品页更好的显示,所以这类代码出现问题直接影像到系统的正常运行。

错误如下:

 

ContractedBlock.gif ExpandedBlockStart.gif Code
 1 Exception information: 
 2     Exception type: DllNotFoundException 
 3     Exception message: Unable to load DLL 'gdiplus.dll': 拒绝访问。 (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)) 
 4  
 5 Request information: 
 6     Request URL: http://www.*********.com/g/api.aspx?action=code&c4c5b1f446078a76= 
 7     Request path: /g/api.aspx 
 8     User host address: 58.82.225.131 
 9     User:  
10     Is authenticated: False 
11     Authentication Type:  
12     Thread account name: NT AUTHORITY\NETWORK SERVICE 
13  
14 Thread information: 
15     Thread ID: 7 
16     Thread account name: NT AUTHORITY\NETWORK SERVICE 
17     Is impersonating: False 
18     Stack trace:    at System.Drawing.SafeNativeMethods.Gdip.GdipCreateBitmapFromScan0(Int32 width, Int32 height, Int32 stride, Int32 format, HandleRef scan0, IntPtr& bitmap)
19    at System.Drawing.Bitmap..ctor(Int32 width, Int32 height, PixelFormat format)
20    at System.Drawing.Bitmap..ctor(Int32 width, Int32 height)
21    at Web.Lang.WebCode.CreateImage(String checkCode)
22    at Web.Lang.WebCode.ShowImages()
23    at IruoFloor.g.API.ShowCodeIMG()
24    at IruoFloor.g.API.Page_Load(Object sender, EventArgs e)
25    at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
26    at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
27    at System.Web.UI.Control.OnLoad(EventArgs e)
28    at System.Web.UI.Control.LoadRecursive()
29    at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
30  

 

 

因为该平台的程序除了一些小的更新外,程序一直运行的很稳定。。。

突然出现此类故障,也算是难得。。。

首先远程到服务器,进行检查,发现原有的权限配置没有更改过。把Gdiplus.dll加上Everyone权限.重启服务器(MS的系统不明原因重启下解决故障效率很高)
发现故障依旧。。。郁闷中。。
打开百度输入错误提示,考,尽然没有发现一篇文章介绍。
在GG下把,很好有两篇是在少的可怜,打开也就是说一些权限配置上的问题....
查下Gdiplus.dll,哦,原来这个DLL这两天暴出一个严重的漏洞,BMP文件可以直接挂马运行。。。是不小。。
服务器上面开启了自动更新,应该是自动更新程序造成的。。

难道不成要重装系统...

继续不放弃,不断的改变权限,把这个该死的GDI+漏洞补丁在打一次,就这样反复折腾了一个上午。。
把System.Drawing反汇编看看,其实里面就是直接DllImport调用Gdiplus.dll
无奈中已经做好的重装的准备
反正要重装了,在试下把原来.net 2.0(2.0已经卸到重装了)升级到.NET 3.0

结果咋样,搞定了。

对MS真是无语

 

转载于:https://www.cnblogs.com/qlhycf/archive/2008/09/20/1294822.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值