Подскажите, как вызвать обработчик - callback - по URL

Главные вкладки

Аватар пользователя postgres postgres 17 декабря 2014 в 15:10

Нужно просто чтобы по "секретному url" запускался на выполнение скрипт.
например www.example.com/secret_action1
При этом на странице сайта, главной, ничего не должно меняться, то есть этот урл не фигурирует в alias и не привязан к страницам,
он только запускает скрипт и все.
Как?

Комментарии

Аватар пользователя postgres postgres 18 декабря 2014 в 16:27

maxOs wrote:
Здесь есть пример того, что вам нужно http://bithaven.ru/kak-sozdat-svoy-modul
в функции example_first_page должен быть ваш обработчик

Я так и делаю, но столкнулся с проблемой неавторизованного доступа.
Ставлю в 'access callback' => 'my_modul_access' свою функцию, которая просто делает
function my_modul_access(){
return true;
}

И нет реакции...нет захода в эту фукцию, возвращается 403 forbiden
в итоге нашел обходной путь:
'access arguments' => array('access content'),

но жаль что не получается как хотелось бы, через свою функцию access callback

и странно, что не получилось

Аватар пользователя postgres postgres 18 декабря 2014 в 16:27

maxOs wrote:
Здесь есть пример того, что вам нужно http://bithaven.ru/kak-sozdat-svoy-modul
в функции example_first_page должен быть ваш обработчик

Я так и делаю, но столкнулся с проблемой неавторизованного доступа.
Ставлю в 'access callback' => 'my_modul_access' свою функцию, которая просто делает
function my_modul_access(){
return true;
}

И нет реакции...нет захода в эту фукцию, возвращается 403 forbiden
в итоге нашел обходной путь:
'access arguments' => array('access content'),

но жаль что не получается как хотелось бы, через свою функцию access callback

и странно, что не получилось

Аватар пользователя kv4 kv4 18 декабря 2014 в 9:16

"postgres" wrote:
Нужно просто чтобы по "секретному url" запускался на выполнение скрипт.

Это что бы если заказчик решит кинуть наговнить ему как следует?:)

Недавно брал на доработки такой проект. Студия, которая делала его размещала такую секретную ссылку. Переход по ней запускал скрипт, который удалял таблицы из БД.

Я посмотрел кто разработчик, зашёл к нему на страницу - там пара десятков сайтов в портфолио. И как оказалось примерно на половине из них есть такая секретная ссылка:) Нужно лишь кнопочку нажать, и усё)))

Аватар пользователя postgres postgres 18 декабря 2014 в 14:12

kv4 wrote:
"postgres" wrote:
Нужно просто чтобы по "секретному url" запускался на выполнение скрипт.

Это что бы если заказчик решит кинуть наговнить ему как следует?:)

Недавно брал на доработки такой проект. Студия, которая делала его размещала такую секретную ссылку. Переход по ней запускал скрипт, который удалял таблицы из БД.

Я посмотрел кто разработчик, зашёл к нему на страницу - там пара десятков сайтов в портфолио. И как оказалось примерно на половине из них есть такая секретная ссылка:) Нужно лишь кнопочку нажать, и усё)))

Для совершения преступлений есть и более изощренные способы.
Конкретно в моем случае это надо для выдачи ботам партнеров информации о товарах.
А секретная - это чтобы конкуренты не могли подобрать эту ссылку перебором очевидных слов.
Яндекс часто использует такой способ для выдачи ему подтверждающей информации о владельце сайта например.
Есть и цивилизованные потребности в таком простом способе доступа к информации.

Аватар пользователя mbaev mbaev 18 декабря 2014 в 21:49

"postgres" wrote:
странно, что не получилось

После изменений в hook_menu нужно очищать кэш - возможно в этом причина.