Получение «ORA-53203: нарушение безопасности» при попытке проверить HTTP-соединение - PullRequest
0 голосов
/ 07 июня 2019

Я пытался заставить Oracle вызывать REST API. Во время настройки и запуска мы столкнулись с проблемой, из-за которой наш код генерирует ORA-53203: нарушение безопасности. В процессе выявления проблемы мы создали процедуру для проверки соединения, и это также приводит к той же ошибке.

Мы используем Oracle 12c, и мы настроили записи ACE / ACL для хоста, с которым мы тестируем, для разрешений «подключаться» и «разрешать».

create or replace procedure showTitleTag ( i_url in varchar2 )
AS
    l_httpreq   UTL_HTTP.req;
    l_httpresp  UTL_HTTP.resp;
    l_text      varchar2(32767);
    l_response  CLOB;
    l_title     varchar2(32767);
BEGIN

    l_httpreq   := UTL_HTTP.begin_request(i_url);
    l_httpresp  := UTL_HTTP.get_response(l_httpreq);

    BEGIN
        LOOP
            UTL_HTTP.read_text(l_httpresp, l_text, 32766);
            l_response := l_response || l_text;
        END LOOP;
    EXCEPTION
        WHEN UTL_HTTP.end_of_body THEN
            UTL_HTTP.end_response(l_httpresp);
    END;

    l_title := REGEXP_REPLACE(l_response, '.*<title> ?(.+) ?</title>.*', '\1', 1, 1, 'in');
    DBMS_OUTPUT.put_line(l_title);

EXCEPTION
    WHEN OTHERS THEN
        UTL_HTTP.end_response(l_httpresp);
        RAISE;
END;

Этот код должен давать нам содержимое тега заголовка веб-страницы (мы использовали "http://www.redhat.com" в качестве нашего тестового URL). Вместо этого мы получаем следующие ошибки:

ORA-29273: HTTP request failed
ORA-53203: security violation
ORA-06512: at "APPS.SHOWTITLETAG", line 29
ORA-06512: at line 1

1 Ответ

0 голосов
/ 08 июня 2019
  1. Вам нужно убедиться, что the related access control list (ACL) assigned and the right privilege has been granted to your target host.
  2. Если с первым нет проблем, тогда посмотрите

    (select a.lower_port, a.upper_port from dba_network_acls a where a.host like '%i_url%')

    , если вы определили интервал для портов вашего URL и содержит порт целевого хоста (ов).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...