2014-09-25 6 views
1

Как установить HTTPS в «подкаталог страницы входа»? Попытка установить, но это не сработало. Я не решаюсь устанавливать HTTPS в основной каталог, так как главный сайт не имеет проблем, только страница входа должна быть HTTPS. TIA ...Как создать подкаталог HTTPS в ColdFusion?

+0

Разве это не делается на уровне веб-сервера? Если это так, вы должны добавить тег для используемого веб-сервера. –

+1

Я считаю, что рекомендуемый подход в эти дни заключается в том, чтобы полностью переключиться на HTTPS (Google говорит об одобрении HTTPS-сайтов через HTTP в ранжировании поиска). Если у вас есть сайт, который стоит защищать за регистрацией, стоит зашифровать с помощью HTTPS. –

ответ

1

В вашем Application.cfc добавить функцию imposeHttps() в onRequestStart

<cffunction name="onRequestStart" returnType="boolean" output="false"> 


    <cfset imposeHttps() /> 

    <!--- some of your other code ---> 


</cffunction> 

и частных imposeHttps()

<cffunction name="imposeHttps" access="private" output="false" returntype="void"> 

    <cfif CGI.REQUEST_METHOD IS NOT "GET"> 
     <cfreturn /> 
    </cfif> 

    <cfset var patterns = [ 
     "^/foo/", 
     "^/bar/", 
     "^/etc/", 
     "^/login.cfm", 
     "^/foo_secure.cfm", 
     "^/some_secure.cfm" 
    ] /> 

    <cfif REFindNoCase("(" & ArrayToList(patterns, ")|(") & ")", CGI.SCRIPT_NAME)> 
     <cfif !CGI.SERVER_PORT_SECURE> 
      <cflocation url="#"https://" & CGI.SERVER_NAME & CGI.SCRIPT_NAME & (CGI.QUERY_STRING EQ "" ? "" : ("?" & CGI.QUERY_STRING))#" addtoken="No">    
     </cfif> 
    </cfif> 

</cffunction> 

звонков в подкаталоги/Foo,/бар,/и т.д. будут навязываться через https, а также вызовы файлов login.cfm, foo_secure.cfm и some_secure.cfm в корне будут надежно защищены cflocation.

+0

Большое спасибо TechMark2K – st041154

Смежные вопросы