2012-02-09 3 views
0

을 방지하기 위해 크기를 조정 :이미지 업로드가 나는 내용 밀수 공격 중지 x 1 픽셀에 의해 이미지를 크기 조정을 선택했다이 게시물 읽기 내용 밀수 공격

Image Uploading - security issues

을하지만 투명 GIF를이 함께 나오는 몇 가지 이유 검은 배경. 이 코드입니다 :

 Bitmap FullsizeImage = (Bitmap)System.Drawing.Image.FromStream(OriginalFile); 

     //FullsizeImage.MakeTransparent(Color.Transparent); 

     int NewWidth = FullsizeImage.Width - 1; 
     int NewHeight = FullsizeImage.Height * NewWidth/FullsizeImage.Width; 

     Bitmap CroppedImage = new Bitmap(NewWidth, NewHeight); 
     Graphics g = Graphics.FromImage(CroppedImage); 
     g.DrawImage(FullsizeImage, new Rectangle(0, 0, FullsizeImage.Width, FullsizeImage.Height)); 

     CroppedImage.Save(ImagePath, FullsizeImage.RawFormat); 

     g.Dispose(); 
     CroppedImage.Dispose(); 
     FullsizeImage.Dispose(); 

내가 FullsizeImage.MakeTransparent (Color.Transparent)를 사용하여 시도하지만 그건 PNG로 이미지를 변환하고 나는 원래의 형식을 유지하려는.

최종적인 의도는 가능한 공격을 피하기위한 것이므로 크기를 조정하는 대신 다른 방법으로이를 수행하는 방법에 대한 아이디어가 있습니까? 또는 형식을 유지하여 실제로 투명 gif의 크기를 조정하는 코드를 가진 사람이 있습니까?

답변

0

이미지의 크기를 조정하려면 이미지를 풀 컬러로 변환해야하며 그렇게하면 팔레트 수준의 투명도가 손실됩니다.

이미지에 1 픽셀 테두리를 추가하고 테두리 채우기에 투명한 색을 사용하는 것이 좋습니다.