|
Public page , запрет изменения url
|
|||
---|---|---|---|
#18+
Добрый день! Подскажите пожалуйста, как лучше решить задачу. Имеется таблица с адресами электронных почт получателей. Отправляется письмо получателю. Необходимо сделать кнопку отписки в письме. Планировал сделать ссылку на публичную страницу приложения из письма и передать в ней id записи в таблице и записать ее в item, далее запись из таблицы можно было бы удалить на публичной странице по id. Но перейдя по ссылке из письма не могу запретить изменение url, таким образом в item можно передать любой другой номер записи для удаления вручную. Подскажите , можно ли запретить изменение url у public page? Так же была идея сгенерировать длинный id (типа dTHgWe14ugUulp53drKyigr31fgy) в таблице с адресами для каждой записи и записывать в item именно его, тогда подбор такого id для ручного изменения item в url кажется должен быть сложнее, имеет ли право на жизнь такой подход? Подобный функционал планируется использовать в ещё одной процессе с подтверждением заказа например. Клиенту на почту приходит письмо с номером заказа и просьбой его подтвердить. Нужна ссылка в письме, по которой клиент нажмёт и заказ поменяет статус, при этом не хотелось бы каждый раз входить в приложение с вводом логина и пароля.просто открываем public page там кнопка подтвердить в item записан номер заказа. Нажимаем и запускаем процесс. Но опять таки нужно заметить/запретить изменение url. Подскажите, как правильно реализовать подобный функционал? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 06:43 |
|
Public page , запрет изменения url
|
|||
---|---|---|---|
#18+
VladimirTr, Например подписать/зашифровать свой ID, передать его на public-страницу вместе с подписью и там проверить ее. Или вообще через url не передавать, а сохранить этот id во внутренних переменных и брать его оттуда. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 08:38 |
|
Public page , запрет изменения url
|
|||
---|---|---|---|
#18+
Все работает ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 09:14 |
|
Public page , запрет изменения url
|
|||
---|---|---|---|
#18+
Спасибо, всем ответившим! blkangel, Я генерирую ссылку без checksum '<a href="http://хххх/'|| APEX_UTIL.PREPARE_URL( p_url => 'f?p=' ||112|| ':69:::NO:RP,69:P69_NEW:5:')||'">Отписаться</a>' отправляю ее в письме При переходе по ссылке открывается URL , в item P69_NEW передается значение "5", но появляется сообщение об ошибке, при этом в настройках страницы указаны такие же настройки, как у вас. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 11:17 |
|
Public page , запрет изменения url
|
|||
---|---|---|---|
#18+
Логично, генерируйте ссылку верно, используйте функцию https://docs.oracle.com/en/database/oracle/application-express/20.1/aeapi/GET_URL-Function.html#GUID-19A879A7-DA63-4519-B50F-DF20F652586E ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 14:16 |
|
Public page , запрет изменения url
|
|||
---|---|---|---|
#18+
И Deep linking = Enable должно быть ... |
|||
:
Нравится:
Не нравится:
|
|||
23.06.2020, 14:16 |
|
Public page , запрет изменения url
|
|||
---|---|---|---|
#18+
blkangel, Deep linking= enabled включен на уровне страницы. Ссылку переделал на генерацию через vLink:='<a href="http://xxxxxxxxx/xxx/'||APEX_PAGE.GET_URL ( p_application => 112, p_page => 69, p_items => 'P69_NEW', p_values => '5' )||'>Отписаться</a>' получаю ту же ошибку. Подскажите, что я делаю неправильно ... |
|||
:
Нравится:
Не нравится:
|
|||
25.06.2020, 11:23 |
|
Public page , запрет изменения url
|
|||
---|---|---|---|
#18+
Где вы выполняете функцию, во време сессии Апекс? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2020, 13:17 |
|
Public page , запрет изменения url
|
|||
---|---|---|---|
#18+
Ссылка получается с контрольной суммой? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.07.2020, 13:39 |
|
Public page , запрет изменения url
|
|||
---|---|---|---|
#18+
Письмо генерируется jobом по расписанию, не из apex сессии, согласен нужно было конечно с этого начать. Нет, контрольная сумма не генерируется, т.к. нет сессии apex, в этом как раз и загвоздка. Была бы сессия - была бы контрольная сумма, с суммой все работает, но вот как быть если письмо сгенерировано не в apex? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.07.2020, 15:18 |
|
Public page , запрет изменения url
|
|||
---|---|---|---|
#18+
Попробуйте использовать пакет APEX_SESSION и процедуру CREATE_SESSION. Расскажите, помогло ли. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2020, 10:43 |
|
Public page , запрет изменения url
|
|||
---|---|---|---|
#18+
Быстреннько набрасал тестовый код, у меня получилось ... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2020, 10:49 |
|
Public page , запрет изменения url
|
|||
---|---|---|---|
#18+
Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
... |
|||
:
Нравится:
Не нравится:
|
|||
08.07.2020, 10:51 |
|
Public page , запрет изменения url
|
|||
---|---|---|---|
#18+
blkangel, огромное спасибо ! Работает ! работает и с вашей генерацией vMSG:=vMSG||'<br/>'||'<a href="http://xxxxxxx.ru/yyyy/'||APEX_PAGE.GET_URL ( p_application => 103, p_page => 121, p_items => 'P121_NEW', p_values => '5' )||'">ОТПИСАТЬСЯ</a>' ; и с моей генерацией, с которой я начинал свои попытки. но только когда не используется p_checksum_type => 'SESSION' с ним ( p_checksum_type => 'SESSION') , но при нажатии на ссылку открывается с другой сессией без checksum и без переданного значения в item. vMSG:=vMSG||'<br/>'||'<a href="http://xxxxxxx.ru/yyyy/'|| APEX_UTIL.PREPARE_URL(p_url => 'f?p=103:121:'||v('APP_SESSION')||'::NO:RP,121:P121_NEW:5:' /*, p_checksum_type => 'SESSION'*/ )||'">ОТПИСАТЬСЯ2</a>'||'.' ; Правильно ли я понимаю, что мы создаем сессию, из этой сессии генерируем checksum отправляем письмо, и удаляем сессию, при этом у нас осталась сохраненная checksum при удаленной сессии. Когда переходим по ссылке, приложение открывается с другой сессией , отличной от той, при которой генерировалась Checksum, но оно работает. получается checksum не привязывается к сессии? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.07.2020, 12:17 |
|
|
start [/forum/topic.php?fid=50&msg=39972404&tid=1873883]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
34ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 291ms |
total: | 423ms |
0 / 0 |