Как зашифровать параметр в URL-IBM WCS?

Мне нужно добавить зашифрованный параметр, скажем, «isAdd» в URL-адресе.

 www.example.com/aTestPage?isAdd=123

но мне не удалось этого сделать, хотя этот параметр не упоминается в следующем разделе wc-server.xml

  <NonEncryptedParameters display="false">
    <Parameter name="storeId"/>
    <Parameter name="langId"/>
    <Parameter name="catalogId"/>
    <Parameter name="categoryId"/>
    <Parameter name="productId"/>
  </NonEncryptedParameters>

но это все еще видно в URL. Что я должен сделать, чтобы сделать 'isAdd' зашифрованным?

Я попытался добавить его в следующий раздел wc-server.xml, но это не сработало.

 <ProtectedParameters>
   <Parameter display="false" name="isAdd"/>
 </ProtectedParameters>

ОБНОВЛЕНИЕ: создание URL

   <wcf:url var="aTestPage" value="aTestPage" type="Ajax">
      <wcf:param name="isAdd" value="${isAdd}" />                                       
   </wcf:url>

person Just_another_developer    schedule 18.04.2017    source источник
comment
Обратите внимание, что это, по-видимому, конкретный вопрос для среды разработки/среды выполнения websphere commerce/commerceserver. Я - а - не одобрю любые общие ответы, которые показывают, как что-то зашифровать, используя общий алгоритм шифрования.   -  person Maarten Bodewes    schedule 18.04.2017
comment
Никогда не работал с IBM websphere, но зачем шифровать параметры, когда у нас есть SSL? Также вы должны отправить простой параметр и добавить HMAC в качестве подписи.   -  person    schedule 18.04.2017
comment
@user7859067 HTTPS-связь может быть зашифрована, но обычно целью шифрования параметров является предотвращение того, чтобы аутентифицированные пользователи приложения знали значения параметров или изменяли значения параметров в URL-адресах. Идентификатор объекта может быть скрыт от пользователей. Например, может потребоваться скрыть идентификатор заказа и показать только идентификатор заказа OMS. Иногда некоторые системы используют это шифрование для предотвращения доступа к объектам, не принадлежащим пользователю, хотя для этого безопаснее использовать проверки авторизации.   -  person Tasos Zervos    schedule 19.04.2017
comment
@TasosZervos HTTPS зашифрованы и должны быть на самом деле. Кроме того, как я уже упоминал, даже если значения параметров передаются общедоступно и не зашифрованы, запрос HMAC может избежать изменения любого параметра, поскольку сервер обнаружит недействительную подпись. Также, если вы хотите скрыть значения некоторых данных, что отправить их клиенту? просто сохраните его на сервере и отправьте случайное значение, которое указывает на него, что-то вроде объектов сеанса.   -  person    schedule 19.04.2017
comment
@ user7859067 Типичные сайты электронной коммерции, разработанные на WCS, не собираются настраивать платформу и внедрять меры защиты от несанкционированного доступа, такие как запрос HMAC для решения проблемы с параметрами URL. Сеансы могут помочь, но также могут иметь свою стоимость, особенно в кластерных установках. Я согласен с вашими вариантами в качестве общего подхода, но нормой в больших проектах WCS является очень ограниченная гибкость и предпочтение повторного использования механизмов платформы. Отсюда вопрос, как использовать стандартный криптомеханизм WCS.   -  person Tasos Zervos    schedule 20.04.2017


Ответы (1)


Использует ли ваш URL HTTPS/SSL? «если команда должна использовать SSL, то параметры зашифрованы», и все параметры, не входящие в список NonEncryptedParameters, будут зашифрованы [как одно значение] и будут отображаться как параметр «крипто».

person Tasos Zervos    schedule 19.04.2017
comment
Да URL-адрес использует HTTPS, но параметр не зашифрован. - person Just_another_developer; 19.04.2017
comment
Итак, где находится/генерируется этот URL — JSP? И каковы шаги, на которых вы ожидали, что шифрование произойдет, но этого не происходит. - person Tasos Zervos; 20.04.2017
comment
URL-адрес генерируется в jsp при действии POST. При нажатии кнопки данные публикуются, и пользователь перенаправляется на следующую страницу (URL-адрес, который я упомянул), URL-адрес имеет этот параметр, который я хочу зашифровать. Я обновил свой пост, теперь он также содержит часть генерации URL. - person Just_another_developer; 21.04.2017
comment
Ваш тег ‹wcf:url› внутри JSP или фрагмента (JSPF)? - person Tasos Zervos; 24.04.2017
comment
Кроме того, какая версия WCS? - person Tasos Zervos; 24.04.2017