پلاگین کد امنیتی اوراکل اپکس(ای پکس)
برای استفاده از سرویس رایگان کد امنیتی (Captcha) شرکت APEXRAD، می توانید از این پلاگین استفاده نمایید. برای دمو پلاگین استفاده شده در اپلیکیشن می توانید به این لینک مراجعه کنید.
-
سازگاری با نسخه های دیتابیس اوراکل و اوراکل اپکس(ای پکس)
-
مشخصات سرویس کد امنیتی (Captcha) اوراکل
-
دانلود پلاگین APEXRAD Captcha Service
-
دریافت License Key رایگان
-
تنظیمات مربوط به ACL در دیتابیس اوراکل
-
تنظیمات مربوط به Wallet در دیتابیس اوراکل
-
اجرای اپلیکیشن و مشاهده Captcha برای اوراکل
سازگاری با نسخه های دیتابیس اوراکل و اوراکل اپکس(ای پکس)
این سرویس و پلاگین با نسخه های زیر سازگار می باشد.
DB versions : ۱۱+, ۱۲+, ۱۸+, ۱۹+
APEX versions : ۵,۱+, ۱۸+, ۱۹+
مشخصات سرویس کد امنیتی (Captcha) اوراکل
برای مشاهده کامل مشخصات سرویس بر روی این لینک کلیک کنید.
دانلود پلاگین APEXRAD Captcha Service
۱- برای دانلود پلاگین بر روی این مسیر کلیک کرده و روی دکمه Clone or Download در قسمت Download Zip کلیک کنید سپس یک فایل zip برای شما دانلود می شود، آنرا Extract کنید. محتوی آن شامل چندین فایل می باشد که نحوه استفاده آن شرح داده می شود.
۲- پلاگین APEXRAD Captcha Service را در اپلیکیشن اوراکل اپکس(ای پکس) خود نصب کنید. وارد محیط Share Components اپلیکیشن شوید. سپس در این قسمت فایل item_type_plugin_info_apexrad_captcha_service که در فولدر Extract شده موجود می باشد را import کنید.
۳- باید اسکریپت APEXRAD_CAPTCHA_PLUGIN_USER.sql که در فولدر Extract شده موجود می باشد را در SQL Workshop\SQl Script آپلود و اجرا کنید.
دریافت License Key رایگان
برای استفاده از این پلاگین و سرویس رایگان APEXRAD Captcha Service در اینترنت باید License Key را در قسمت زیر در مسیر Share component/ Component Setting/APEXRAD Captcha Service وارد کنید. برای دریافت License Key رایگان به آدرس ایمیل info@apexrad.info درخواست بفرستید.
پس از دریافت License Key رایگان، آنرا در مشخصات پلاگین همانند تصویر نشان داده شده در بالا وارد کنید.
تنظیمات مربوط به ACL در دیتابیس اوراکل
در این مرحله باید تنظیمات مربوط به دسترسی سرویس APEXRAD را بر روی Instance دیتایس خود انجام دهید.
شما نیاز دارید که با SYSDBA role به دیتابیس کانکت شوید.
On Windows:
SYSTEM_DRIVE:\ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
SYSTEM_DRIVE:\ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
On UNIX and Linux:
$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
اگر دیتابیس اوراکل شما نسخه 11g باشد می توانید بصورت زیر اقدام کنید. فقط [APEX_XXXXX] را در اسکریپت زیر، نسبت به نسخه Oracle APEX یعنی بنام اسکیمای ایجاد شده تغییر دهید.
BEGIN
DBMS_NETWORK_ACL_ADMIN.create_acl (
acl => 'APEXRADCaptcha.xml',
description => 'APEXRAD Captcha Service',
principal => 'APEX_XXXXX',
is_grant => TRUE,
privilege => 'connect',
start_date => SYSTIMESTAMP,
end_date => NULL);
DBMS_NETWORK_ACL_ADMIN.assign_acl (
acl => 'APEXRADCaptcha.xml',
host => 'service.apexrad.info'
lower_port => 443,
upper_port => 443);
COMMIT;
END;
/
DBMS_NETWORK_ACL_ADMIN.create_acl (
acl => 'APEXRADCaptcha.xml',
description => 'APEXRAD Captcha Service',
principal => 'APEX_XXXXX',
is_grant => TRUE,
privilege => 'connect',
start_date => SYSTIMESTAMP,
end_date => NULL);
DBMS_NETWORK_ACL_ADMIN.assign_acl (
acl => 'APEXRADCaptcha.xml',
host => 'service.apexrad.info'
lower_port => 443,
upper_port => 443);
COMMIT;
END;
/
اگر دیتابیس اوراکل شما نسخه 12c به بالاتر باشد می توانید به جای اسکریپت بالا بصورت زیر هم اقدام کنید. فقط [APEX_XXXXX] را در اسکریپت زیر، نسبت به نسخه Oracle APEX یعنی بنام اسکیمای ایجاد شده تغییر دهید.
BEGIN
DBMS_NETWORK_ACL_ADMIN.append_host_ace (
host => 'service.apexrad.info',
lower_port => 443,
upper_port => 443,
ace => xs$ace_type(privilege_list => xs$name_list('http'),
principal_name => 'APEX_XXXXX',
principal_type => xs_acl.ptype_db));
commit;
END;
/
DBMS_NETWORK_ACL_ADMIN.append_host_ace (
host => 'service.apexrad.info',
lower_port => 443,
upper_port => 443,
ace => xs$ace_type(privilege_list => xs$name_list('http'),
principal_name => 'APEX_XXXXX',
principal_type => xs_acl.ptype_db));
commit;
END;
/
پس از اجرای اسکریپت برای اطمینان از کار خود می توانید از کوئری زیر استفاده کنید.
select * from user_network_acl_privileges
where host = 'service.apexrad.info'
Result:
service.apexrad.info 443 443 resolve GRANTED
service.apexrad.info 443 443 connect GRANTED
service.apexrad.info 443 443 http GRANTED
service.apexrad.info 443 443 http-proxy GRANTED
where host = 'service.apexrad.info'
Result:
service.apexrad.info 443 443 resolve GRANTED
service.apexrad.info 443 443 connect GRANTED
service.apexrad.info 443 443 http GRANTED
service.apexrad.info 443 443 http-proxy GRANTED
select * from dba_network_acls
Result:
service.apexrad.info 443 443 xxxxxxxxxxxxxxxx 00000000xxxxxxx SYS
Result:
service.apexrad.info 443 443 xxxxxxxxxxxxxxxx 00000000xxxxxxx SYS
تنظیمات مربوط به Wallet در دیتابیس اوراکل
اگر شما قبلا برای wallet بر روی سرور خود در مسیر اوراکل، دایرکتوری را ایجاد نکردید باید در ابتدا یک دایرکتوری ایجاد کنید و همانند دستور العمل زیر عمل کنید.
در ابتدا باید فایل service-apexrad.crt را از فولدر extract شده به مسیری بر روی سرور منتقل کنید.
mkdir -p /oracle/admin/<your_database_sid>/<your_wallet_directory_name>
e.g=> mkdir -p /oracle/admin/XE/Wallet/mywallet
orapki wallet create -wallet /oracle/admin/<your_database_sid>/<your_wallet_directory_name> -pwd MyWalletPassword -auto_login
e.g=> orapki wallet create -wallet /oracle/admin/XE/Wallet/mywallet -pwd MyWalletPassword1234 -auto_login
orapki wallet add -wallet /oracle/admin/<your_database_sid>/<your_wallet_directory_name> -trusted_cert -cert "/<you_directory>/service-apexrad.crt" -pwd MyWalletPassword
e.g=> orapki wallet add -wallet /oracle/admin/XE/Wallet/mywallet -trusted_cert -cert "/home/oracle/service-apexrad.crt" -pwd MyWalletPassword1234
برای تست می توانید دستور زیر را اجرا کنید و مطمئن شوید که درون Wallet بدرستی تنظیم شده باشد.
orapki wallet display -wallet /oracle/admin/<your_database_sid>/<your_wallet_directory_name>
سپس همانند تصویر زیر مسیر wallet و پسوردی را که تنظیم کردید، در دوقسمت ذکر شده در تصویر در مشخصات پلاگین وارد کنید.
برای اینکه متوجه شوید تنظیمات مربوط به Wallet و ACL به درستی انجام شده و امکان استفاده از سرویس APEXRAD Captcha وجود دارد، برای تست بصورت زیر انجام دهید.
On Windows:
SYSTEM_DRIVE:\ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
On UNIX and Linux:
$ sqlplus /nolog
SQL> CONNECT SYS as SYSDBA
Enter password: SYS_password
select UTL_HTTP.REQUEST(url => 'https://service.apexrad.info/ar/rest/api/captchaVersion/'
,wallet_path => 'file:/oracle/wallets/mywallet/'
,wallet_password => 'MyWalletPassword1234') from dual;
Result:
{version: "1.0"}
1 دیدگاه. پیغام بگذارید
عالی بود