|
Шифрование данных, переданных по URL в ZEN
|
|||
---|---|---|---|
#18+
Сорь если уже была такая тема... Вопрос довольно простой: нужно зашифровать ссылку типа http://localhost:57773/csp/emcd/GUI.WEB.RPT.CachKO4List.cls?FirmName=ООО "ООО Медея"&OKPO=91972447&Date=2012-11-26&StrPodr=101107 Восстания 1&StrPodrID=27534170&DirectoryFIO=СИЗОВА ЕЛЕНА АЛЕКСЕЕВНА&ChiefAccountantFIO=СИЗОВА ЕЛЕНА АЛЕКСАНДРОВНА на кракозябру, как вообщем то, это сделано в большинстве веб-приложениях. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2012, 16:49 |
|
Шифрование данных, переданных по URL в ZEN
|
|||
---|---|---|---|
#18+
например так Код: sql 1. 2.
у вас может отличатся если Cache у вас не Unicode ... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2012, 16:56 |
|
Шифрование данных, переданных по URL в ZEN
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
26.11.2012, 17:03 |
|
Шифрование данных, переданных по URL в ZEN
|
|||
---|---|---|---|
#18+
Что-то не совсем понятно: У меня например есть такой вариант: Код: java 1.
Он отображает так же: Код: html 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2012, 14:10 |
|
Шифрование данных, переданных по URL в ZEN
|
|||
---|---|---|---|
#18+
feanorcheg , set query("name")="Nikita Rodionov" set url=..Link("GUI.WEB.RPT.CachKO4List.cls",.query) &js<zenAlert(#(..QuoteJS(url))#);>Результат: Код: plaintext
Если страница GUI.WEB.RPT.CachKO4List.cls приватная (Parameter PRIVATE = 1;), то ссылка получится несколько другой. Если хотите вовсе зашифровать передаваемый параметр, то можно воспользоваться методами Encrypt/Decrypt , например: set query("name")=..Encrypt("Nikita Rodionov") Результат: Код: plaintext
Для такого случая ещё может пригодиться параметр ZENENCRYPT , например: Property n As %ZEN.Datatype.string(ZENENCRYPT = 1, ZENURL = "name"); ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2012, 16:02 |
|
Шифрование данных, переданных по URL в ZEN
|
|||
---|---|---|---|
#18+
Parameter PRIVATE = 1 не работает - выдает ошибку типа Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2012, 16:12 |
|
Шифрование данных, переданных по URL в ZEN
|
|||
---|---|---|---|
#18+
feanorchegParameter PRIVATE = 1 не работает - выдает ошибку типаНаличие этой ошибки говорит об обратном. Демонстрационный примерClass del.test1 Extends %ZEN.Component.page { /// Controls the access to the page, it can be set to one of the following:<br> /// <br><ul> /// <li><b>PRIVATE=0</b> - Page can be linked to/bookmarked</li> /// <li><b>PRIVATE=1</b> - Can only be referenced from another CSP page</li> /// </ul> /// The user needs initially to enter the site through a PUBLIC page. Parameter PRIVATE = 1; /// Controls how the query parameters for this page are passed, it can /// be set to one of the following:<br> /// <br><ul> /// <li><b>ENCODED=0</b> - Query parameters are not encrypted</li> /// <li><b>ENCODED=1</b> - Query parameters are encrypted and passed within CSPToken</li> /// <li><b>ENCODED=2</b> - Same as '1' except any unencrypted parameters /// are removed from the %request object before calling the <method>Page</method> /// method. This ensures that only encrypted parameter are available in the /// <class>%CSP.Request</class> object.</li> /// </ul> Parameter ENCODED = 2; Property n As %ZEN.Datatype.string(ZENURL = "name"); /// Этот XML блок описывает содержимое этой страницы. XData Contents [ XMLNamespace = " http://www.intersystems.com/zen" ] { <page xmlns=" http://www.intersystems.com/zen" title=""> <text id="txt" label="test" size="50"/> </page> } Method %OnAfterCreatePage() As %Status { do ..%SetValueById("txt",..n) quit $$$OK } } Class del.test Extends %ZEN.Component.page { /// Этот XML блок описывает содержимое этой страницы. XData Contents [ XMLNamespace = " http://www.intersystems.com/zen" ] { <page xmlns=" http://www.intersystems.com/zen" title=""> <button caption="test" onclick="zenPage.SrvTest();"/> </page> } ClassMethod SrvTest() [ ZenMethod ] { set query("name")="Nikita Rodionov" &js<zenPage.gotoPage(#(..QuoteJS(..Link("del.test1.cls",.query)))#);> } } Если же перейти на неё с del.test.cls , то ошибки не будет. Примечание:Ссылка на приватную страницу действует только в рамках текущей сессии, т.е. после окончания сессии ссылка станет уже недействительной. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.11.2012, 17:12 |
|
Шифрование данных, переданных по URL в ZEN
|
|||
---|---|---|---|
#18+
интересно, а если страница открывается с помощью метода zenPage.launchPopupWindow(zenLink(),,,,,)? когда параметры передаются не через знак вопроса а с помощью объекта(последнего параметра этого метода)? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2012, 13:45 |
|
Шифрование данных, переданных по URL в ZEN
|
|||
---|---|---|---|
#18+
и еще вопрос: а как тогда получить значение параметра query("name") в принимающей странице? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2012, 13:51 |
|
Шифрование данных, переданных по URL в ZEN
|
|||
---|---|---|---|
#18+
feanorchegинтересно, а если страница открывается с помощью метода zenPage.launchPopupWindow(zenLink(),,,,,)? когда параметры передаются не через знак вопроса а с помощью объекта(последнего параметра этого метода)? Демонстрационный пример №2Class del.test1 Extends %ZEN.Component.page { Parameter PRIVATE = 1; Parameter ENCODED = 2; Property p1 As %ZEN.Datatype.string(ZENURL = "name"); Property p2 As %ZEN.Datatype.string(ZENURL = "sum"); XData Contents [ XMLNamespace = " http://www.intersystems.com/zen" ] { <page xmlns=" http://www.intersystems.com/zen" title=""> <text id="txt1" label="name"/> <text id="txt2" label="sum"/> </page> } Method %OnAfterCreatePage() As %Status { do ..%SetValueById("txt1",..p1) // или так do ..%SetValueById("txt2",%request.Get("sum")) quit $$$OK } } Class del.test Extends %ZEN.Component.page { XData Contents [ XMLNamespace = " http://www.intersystems.com/zen" ] { <page xmlns=" http://www.intersystems.com/zen" title=""> <button caption="test" onclick="zenPage.test();"/> </page> } ClientMethod test() [ Language = javascript ] { var parms = new Object(); parms.name = 'Nikita Rodionov'; parms.sum = 45; zenPage.launchPopupWindow(zenPage.SrvLink('del.test1.cls',parms),'PageName','center=yes,status,scrollbars,resizable=yes,width=320,height=240'); } ClassMethod SrvLink( link As %String, parms As %ArrayOfDataTypes) As %String [ ZenMethod ] { m:$IsObject(parms) query=parms.Data s query("$ZEN_POPUP")=1 q ..Link(link,.query) } } feanorchegи еще вопрос: а как тогда получить значение параметра query("name") в принимающей странице? Zen Page URI Parameters ... |
|||
:
Нравится:
Не нравится:
|
|||
28.11.2012, 18:59 |
|
|
start [/forum/topic.php?fid=39&msg=38054796&tid=1557302]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
134ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 272ms |
total: | 505ms |
0 / 0 |