Oracle APEX文件上传防病毒扫描:规避数据库存储方案问询
问题解答
1. 是否可使用APEX文件浏览项但不上传至APEX_APPLICATION_TEMP_FILES?
默认情况下不行。APEX原生文件浏览项的设计逻辑就是在页面提交时自动将文件上传到APEX_APPLICATION_TEMP_FILES临时表,没有直接禁用该行为的配置项。
如果要严格避免文件进入数据库,建议放弃APEX原生文件浏览项,改用纯前端方案:
- 使用原生HTML
<input type="file">组件作为文件选择入口 - 通过JavaScript获取文件的二进制内容,直接调用恶意软件扫描接口
- 扫描通过后,再调用Azure存储的REST API完成上传
全程无需经过APEX服务器端的数据库存储环节。
2. 是否有开发者在APEX中实现过恶意软件扫描?
有,常见实现方式包括:
- 对接第三方扫描API:通过JavaScript将文件内容直接发送到ClamAV REST接口、商业杀毒服务API等,根据返回的扫描结果决定是否执行后续上传操作。
- 集成本地ClamAV服务:若APEX服务器可访问ClamAV服务,可通过自定义PL/SQL过程调用ClamAV的命令行工具或本地API完成扫描(需注意全程将文件存放在服务器临时文件系统而非数据库,扫描后及时清理临时文件)。
- 利用APEX Web Source模块:将恶意软件扫描服务配置为APEX Web Source,通过动态动作或JavaScript调用该Web Source完成扫描流程。
内容的提问来源于stack exchange,提问作者Arif Sher Khan
相关产品推荐
相关产品推荐

