2012-07-31 4 views
2

내 앱에서 URL을 난독 화하고 있습니다. (위대합니다), 사용자가 원하는대로 번호를 입력 할 수 있기를 원하기 때문에 이것을 사용하지 않도록 설정하고 싶습니다.CFWheels - 쿼리 페이징의 DeObfuscate ID?

Settings.cfm :

<cffunction name="home"> 

     <cfparam name="params.page" default="1" /> 

     <cfset linkList = model("link").findAll(
      select="linkTitle,linkPoints,linkID,linkAuthority,linkCreated,linkUpVoteCount,linkDownVoteCount,linkCommentCount,userName,userID", 
      include="user", 
      order="linkPoints DESC", 
      handle="linkListPaging", 
      page=params.page, 
      perPage=5 
     ) /> 

    </cffunction> 

Home.cfm (보기)

<ul class="pagination"> 
      <cfoutput> 
       #paginationLinks( 
        route="paginateLatest", 
        handle="linkListPaging", 
        page=1, 
        name="page", 
        windowSize=5, 
        prependToPage="<li>", 
        appendToPage="</li>", 
        classForCurrent="current" 
       )# 
      </cfoutput> 
     </ul> 

는 내가에 DeObfuscate을 할 수 필요 :

<cfset set(obfuscateURLs = true) /> 

Home.cfc (컨트롤러) 기초?

덕분에, 마이클

답변

1

PARAMS을 당황하게하는 설정은 모 아니면도 거래이다. linkTo()에 대해이 동작을 재정의 할 수 없듯이 paginationLinks()에 대해서도이를 재정의 할 수 없습니다.

나는 미래에 이것을 원할 다른 개발자가있을 것이라고 확신하면서 플러그인을 구축 할 것을 제안합니다. page이라는 매개 변수를 난독 화/해독 취소하지 않도록 컨트롤러에 알리는 방법이있을 수 있습니다. urlFor()의 작동 방식과 들어오는 요청을 처리 할 때 컨트롤러의 난독 화 방법을 모두 업데이트해야합니다. set()을 사용하여 params 키 집합을 "블랙리스트"로 설정하여 난독 화되지 않도록 구성 옵션을 제공하는 것도 고려해 볼 수 있습니다 (기본값은 page 임).