ad_page_contract_log_duplicate (private)

 ad_page_contract_log_duplicate formal_name complaint

Defined in packages/acs-tcl/tcl/tcl-documentation-procs.tcl

Log rejection of a repeated single-valued page-contract parameter. Authenticated requests retain every full warning. Anonymous requests share five-minute rate limits, separately for bot and other pools and for return_url, view and other parameters. The existing ad_log limiter reports suppressed occurrences on the next emitted warning.

Parameters:
formal_name (required)
declared parameter name
complaint (required)
localized validation complaint

Partial Call Graph (max 5 caller/called nodes):
test_page_contract_duplicate_logging page_contract_duplicate_logging (test acs-tcl) ad_page_contract_log_duplicate ad_page_contract_log_duplicate test_page_contract_duplicate_logging->ad_page_contract_log_duplicate ad_conn ad_conn (public) ad_page_contract_log_duplicate->ad_conn ad_log ad_log (public) ad_page_contract_log_duplicate->ad_log ad_page_contract ad_page_contract (public) ad_page_contract->ad_page_contract_log_duplicate

Testcases:
page_contract_duplicate_logging
Source code:
    set message "User experienced '$complaint' when submitting a form related to path_info: [ad_conn path_info]"
    if {[ad_conn user_id] != 0} {
        ad_log warning $message
    } else {
        # Fixed categories bound limiter state and keep bot traffic from
        # suppressing examples from other pools. Pool membership is routing
        # context, not proof that a request is automated or malicious.
        set pool other
        if {[ns_conn isconnected] && [ns_conn pool] eq "bots"} {set pool bots}
        set parameter [expr {$formal_name in {return_url view} ? $formal_name : "other"}]
        ad_log -key [list page-contract-duplicate-parameter $pool $parameter]  -interval 300 warning $message
    }
XQL Not present:
Generic, PostgreSQL, Oracle
[ hide source ] | [ make this the default ]
Show another procedure: