Автоматическое удаление фирменных переменных Битрикс из GET-параметров

Рейтинг: 28.1987  
На голосовании
Предложил Пользователь 109495 12.09.2013 09:44:36

Автоматическое удаление фирменных переменных Битрикс из GET-параметров

Идея

Сделать обертку над функцией GetCurPageParam, которая бы автоматически удаляла из генерируемого урла такие параметры, как show_page_exec_time, bitrix_include_areas, clear_cache, и прочие стандартные переменные Битрикс.

Кому и зачем нужно

Разработчик заходит на страницу и сбрасывает кеш через clear_cache. Весь кеш удаляется и генерируется заново. Если компоненты выводили ссылки с помощью GetCurPageParam, и там не прописано удаление переменной clear_cache, эта переменная попадает в ссылку и ее увидит каждый пользователь на сайте. Решения три
- сбрасывать кеш только в админке
- каждый раз писать, чтобы GetCurPageParam удаляла clear_cache
- сделать обертку над GetCurPageParam, которая будет это делать сама, и вызывать уже ее.

Рейтинг: 0.3056  
Пользователь 109495 18.11.2015 09:30:47
А ведь в Битриксе есть место, где эти параметры можно удалить одним махом. Метод CHTTP::urlDeleteParams выполняет требуемое действие - если передать туда третий аргумент ["delete_system_params" => true]
то будут удалены параметры:
array(
 "login",
 "logout",
 "register",
 "forgot_password",
 "change_password",
 "confirm_registration",
 "confirm_code",
 "confirm_user_id",
 "bitrix_include_areas",
 "clear_cache",
 "show_page_exec_time",
 "show_include_exec_time",
 "show_sql_stat",
 "show_cache_stat",
 "show_link_stat",
)