This tutorial will show you how you can block users from logging in by their IP address in Oracle Apex. Follow these steps:
Block Users by Their IP Address in Oracle Apex
Create a table to hold the list of IP addresses you want to block. Below is an example of a table:
Create Table block_ips ( ip_address varchar2(100), block_date date );
After creating the table, you can insert a record of your system IP address so that you would be able to test. Below is an example:
insert into block_ips values (owa_util.get_cgi_env('X-FORWARDED-FOR'), sysdate);
To learn how to record a user's IP address on logon, check the following tutorial:
Now create an Authorization Scheme
and set the following properties:
- Name:
Block_IP
- Scheme Type:
NOT Exists SQL Query
- SQL Query: add the below query:
Select 1 from block_ips where ip_address = owa_util.get_cgi_env('X-FORWARDED-FOR');
- Identify error message displayed when scheme violated:
You are blocked!
- Validate authorization scheme:
Always (No Caching)
Below is the screenshot of the above settings:
After configuring the above setting, click on Apply Changes
button.
You have created an authorization scheme
and you can now apply this scheme to your login page (9999
) as shown below: