2012-01-06 2 views
2

사용자 프로필, 설정 등에 대한 양식이 포함될 사이트의 '계정'섹션에 액세스 할 때 사용자를 SSL 보안 서버로 리디렉션하려고합니다. 그러나 사용자가 SSL 서버의 나머지 사이트에 액세스 할 수 있기를 바랍니다. 템플릿을 어떻게 코딩했는지에 따라 <a href="/about">을 예로 설정했습니다. 계정 섹션에 있고 정보 섹션에 대한 링크를 클릭하면 보안 https : 연결 상태가 유지됩니다. 분명히, 나는 단지 http : // 서버에 연결하는 링크를 하드 코딩 할 수 있지만 대안을 찾고있다.특정 폴더에 SSL * 전용 * 추가 ​​

지금까지 나는 .htaccess에서 다음과 같은 작업을 수행하고 있지만 작동하지만이 리소스가 더 많이 필요하지는 않은지 궁금합니다. 다른 '비 계정'섹션에 대한 링크를 하드 코딩하는 것이 더 좋습니까? 아니면 .htaccess를 통해이 작업을 수행하는 것이 좋을까요? 내가 https를 통해 액세스되는 홈페이지를 방지하기 위해 원하는 경우 또한

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteCond $1 ^(account) [NC] 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

RewriteCond %{HTTPS} on 
RewriteCond $1 ^(about|terms|products) [NC] 
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

는 : // 어떻게 추가하는 방법에 대한 갈 것이라고 내 htaccess로 파일이?

답변

2

사실이 경우 다시 쓰기 규칙을 사용하지 않는 것이 좋습니다.

http 요청을 https 요청으로 바꾸는 다시 쓰기 규칙의 문제점은 실제로 리디렉션이라는 것입니다. 즉, http 요청을 https 요청으로 바꾸려면 브라우저가 먼저 http 요청 (콘텐츠, 쿠키, 안전한 것 제외)을 만들고 서버에서 리디렉션 코드를 가져온 다음 https 다시 작성한 URL에 다시 요청하십시오. 대신 https 섹션 참 https를 사용하는에 포함되는 것이다 귀하의 사이트에 링크를 확인하고이에 의존하는 경우이 비록

이 편리합니다, 그것은 그 하드 링크가 잘못 리디렉션 할 때 감지 할 수 있도록합니다 http 변형입니다.

전형적인 결과는 다음과 같습니다

  • 혼합 된 콘텐츠 경고 당신이 http 나중에 연결 나쁜 일이 https로 자동으로 투명하게 설정하여 뭔가를 포함 할 경우; 및
  • 누수가 발생할 수 있습니다.

대신에, 난 당신이 자동 재 작성/리디렉션을 사용하지 않는 것이 좋습니다 및 HTTPS를 통해 사용할 수 의미있는 부분은 전혀 일반 HTTP 변종에 사용할 수 없습니다 있는지 확인하십시오 것 (즉 http://yourhost/account은 반환해야합니다 404s) : 이것은 적어도 당신이 잘못 링크했을 때주의해야만하고 보안 문제가있는 곳을 찾을 수 있도록 도와줍니다. 궁극적으로 동일한 호스트 이름을 공유하지만 http 사이트와 https 사이트는 서로 다른 두 개의 URL 공간을 가질 수 있습니다. 이러한 맥락에서 나쁜 것은 아닙니다.

http에서 https으로 다시 쓰는 것이 정말 유용한 유일한 사례는 사이트의 사용자 진입 점이 리디렉션되는지 확인하려는 경우입니다.

https에서 http까지의 재 작성은 물론이 문제를 제시하지 않습니다.

+0

답변 해 주셔서 감사합니다. 나는 리다이렉트에 너무 많은 오버 헤드를 추가하는 것이 두려웠다. 나는 단지 내가 나의 링크를 하드 코딩하도록 할 것이다. – Carlos

관련 문제