CFWheels - 查询分页上的DeObfuscate ID?

时间:2012-07-31 14:22:33

标签: coldfusion railo deobfuscation cfwheels

我在我的应用程序中混淆了URL(这很棒),但是我想为分页URL禁用它,因为我希望用户能够输入他们喜欢的任何数字。

Settings.cfm:

<cfset set(obfuscateURLs = true) />

Home.cfc(controller):

<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吗?

谢谢, 迈克尔

1 个答案:

答案 0 :(得分:1)

混淆params的设置是一个全有或全无的交易。正如您无法覆盖linkTo()的此行为一样,您也无法为paginationLinks()覆盖此行为。

我建议建立一个插件,因为我打赌将会有其他开发人员在将来想要这个。可能有一种方法可以告诉控制器不要混淆/反混淆一个名为page的参数。您需要更新urlFor()的工作原理以及控制器在处理传入请求时如何进行反混淆处理。您还可以考虑提供一个配置选项,以使用set()“黑名单”一组params密钥,从不进行模糊处理(page是默认值)。