프로그래밍
C# ASP.NET MVC4 핫링크 방지 ( Hotlink Protection )
친절한티스
2014. 6. 15. 14:50
웹서버 구축시 골치 거리중 하나가 바로 핫링크(Hotlink) 입니다. 이미지나 동영상 같은 미디어 파일의 링크를 따서 외부 사이트에 걸어놓는 거죠. 이로인해 엄청난 양의 불필요한 트래픽이 발생할 수 있습니다. MVC4에서는 web.config 수정을 통해 이를 방지 할수 있습니다.
방법은 간단합니다. web.config 파일에 아래의 rule을 추가해주면, 해당 url에서 오는 요청이 아닌 것들은 rewrite에 지정된 이미지로 교체 해서 전송됩니다. 이 이미지는 저용량의 불펌금지!!! 같은 이미지로 설정해두면 좋겠죠.
// mydomain에서 오는 요청이 아닌 것은 noimage.jpg로 전송 <system.webServer> <rewrite> <rules> <rule name="Prevent hotlinking"> <match url=".*\.(jpg|jpeg|png|gif|bmp)$"/> <conditions> <add input="{HTTP_REFERER}" pattern="^$" negate="true" /> <add input="{HTTP_REFERER}" pattern="^http://www.mydomain\.com/.*$" negate="true" /> <add input="{HTTP_REFERER}" pattern="^http://mydomain\.com/.*$" negate="true" /> </conditions> <action type="Rewrite" url="/images/noimage.jpg" appendQueryString="false" /> </rule> </rules> </rewrite> </system.webServer>
반응형