簡體   English   中英

如何在Java中阻止讀寫和連接操作

[英]How to block read write and connect operation in Java

我們正在構建在線評分器,它是一個接受一些Java代碼,運行它,獲取結果並驗證結果正確的系統。

顯然,運行不受信任的代碼是不安全的,因此我們需要確保代碼提交者不會破壞/損害整個評分系統。

例如,這樣的求位者可以讀取密碼並修改數據庫中的評分條目。 甚至更糟的是,它可能會填滿整個文件系統,RAM或消耗所有線程,並妨礙其他提交者的評分。

是否有任何API允許我阻止讀寫和連接操作。

使用內置的安全管理器功能。

SecurityManager解決了此問題。

class MySecurityManager extends SecurityManager {
@Override
public void checkRead(FileDescriptor fd) {
    throw new SecurityException("File reading is not allowed");
}

@Override
public void checkWrite(FileDescriptor fd) {
    throw new SecurityException("File writing is not allowed");
}

@Override
public void checkConnect(String host, int port) {
    throw new SecurityException("Socket connections are not allowed");
  }
 }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM