CI 묻고 답하기

제목 Referer 지정을 어떻게 해줘야 하나요?
글쓴이 kims 작성시각 2010/05/15 06:45:32
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 26204   RSS

CODEIGNITER와 referer를 이용해 jpg 또는 mp4 파일을 다른 경로에서 받지 못하게 하려고 합니다.

그래서 .htaccess를 다음과 같이 변경해 주었는데요
JPG 뿐만아니라 mp4도 화면에 뜨지 않고 다운도 되지 않아요...

어떻게 해야하는건가요? 제가 잘못한 부분이 있으면 바로 잡아주세요

<IfModule mod_rewrite.c>
  RewriteEngine On
	
	RewriteBase /
	
	RewriteCond %{HTTP_HOST} ^/stview [NC] 
	RewriteRule ^(.*)$ http://stview/$1 [L,R=301]
	

	RewriteCond %{REQUEST_FILENAME} !-f
	RewriteCond %{REQUEST_FILENAME} !-d
	RewriteCond %{REQUEST_URI} !^/captcha/(.*)$
	RewriteCond %{REQUEST_URI} !^/images/(.*)$
	RewriteCond %{REQUEST_URI} !^/include/(.*)$
	RewriteCond %{REQUEST_URI} !^/upload/mp4/(.*)$
		
	RewriteRule ^(.*)$ index.php/$1 [L]
	
</IfModule>


SetEnvIf Referer "http://stview/" pass 
SetEnvIf Referer "http://stview$" pass  

<FilesMatch "\.(MP4|mp4|ZIP|zip|jpg|JPG|gif|GIF)$"> 
  Order Allow,Deny
  Deny from all
  Allow from env=pass
</FilesMatch>
 다음글 php 파일이 ?> 로 닫혀있지 않네요. (3)
 이전글 oracle연결시 문제.... (2)

댓글

변종원(웅파) / 2010/05/15 08:22:44 / 추천 0

ci에 관한 문제이기보다는 정규표현식에 관한 문제네요. ^^;

referer체크하는 부분은 codeigniter의 컨트롤러단에서 체크를 해도 되는데 변조가능성때문에 .htaccess를
사용하신건가요?

그리고 index.php를 없애는 구문위에 RewriteCond %{REQUEST_URI} !^/upload/(.*)$ 를 넣어주셔야
동영상이 정상적으로 실행이 될겁니다.

kims / 2010/05/15 08:40:34 / 추천 0
웅파님~ 빠른답변 감사합니다. ^^
예 .htaccess에 이 부분을 추가한건 동영상 주소가 노출될 경우 외부에서 타이핑을 하고 들어오면 방법이 없을 거 같아서였습
니다.^^
그래서 일단 모든 파일을 막아 놓고 저희 쪽 도메인을 통해서 들어올경우 동영상 파일을 허용하게 하려고 적어놓은거거든요...^^;;

웅파님 말씀대로 해당 부분을 추가 했는데 마찬가지로 접근을 할 수 없다고 나오네요..T_T..
도데체 제가 멀 잘못한거죠? T_T


변종원(웅파) / 2010/05/15 09:01:25 / 추천 0
노출된 동영상주소 직접 타이핑해서 들어오는 것은 동영상이 웹에서 접근되는 곳에 있기 때문입니다.
웹에서 접근이 안되는 디렉토리에 동영상을 올려놓고 컨트롤러단에서 자기 사이트에서 접근되는 것만
플레이 하도록 처리하시면 됩니다.

가령 ci의 위치가 다음과 같다면 /home/codeigniter/public_html/

동영상은 /home/codeigniter/upload/mp4 에 업로드 하시면 됩니다.

보여줄때 웹접근이 안되는 디렉토리의 것을 보여주는 것은 스쿨이나 구글에서 검색하시면 나옵니다.
kims / 2010/05/15 10:05:20 / 추천 0
웅파님 조언 감사드립니다.^^
찾아보고 해볼께요~
감사합니다.^^