2013-10-18 5 views
0

최근 MySQL 데이터베이스에 정보를 저장하는 Java 프로그램을 개발했습니다. 그러나 누군가가 SQL 사용자 정보를 얻고 항목으로 데이터베이스를 가득 채울 정도로 코드를 디 컴파일했습니다.SQL 데이터베이스의 항목 제한

특정 IP에서 오는 항목 수를 제한 할 수있는 방법이 있습니까? 그렇지 않은 경우 내 프로그램에서 내 데이터베이스로 정보가 전달되는 동안이 문제를 피하기 위해 어떤 대안을 사용할 수 있습니까?

+0

그들은 어떻게 코드를 받았습니까? SQL을 JSP에 넣지 않았습니까? –

+0

최종 사용자에게 프로그램을 넘겨주는 경우 데이터베이스에 직접 SQL 액세스를 허용하지 마십시오. 대신 API를 제공하고 입력 내용을 삭제해야합니다. 관련성 : http://img820.imageshack.us/img820/1641/itsfinetrustme.png – Warty

+0

SQL 사용자 자격 증명을 코드에 넣지 마십시오! 대신에, 프로그램이 명령 행 인자 등에서 파일을 읽도록하십시오. – yshavit

답변

1

서비스를 만들어야합니다.

응용 프로그램에서 데이터베이스에 직접 액세스하는 대신 응용 프로그램을 데이터베이스에 대한 인터페이스가 될 클라이언트 - RPC 서비스로 만들어야합니다.

그러나 응용 프로그램 코드에서 데이터베이스 자격 증명을 유지하는 한 제한된 수의 항목과 같은 부적절한 조치를 고안하지 않아도됩니다.

+0

누군가가 코드를 다시 디 컴파일하면 RPC 호출을 다시 작성하고 실행할 수 없습니다 계속해서 데이터베이스를 계속 홍수로 치닫고 있습니까? – Blackvein

+0

봐. 이 사이트는이 서비스와 같습니다. 뿐만 아니라 그물에있는 다른 사이트. 사용자의 활동을 제한하는 방법은 항상 있습니다. 간단하지만 효과적인. CAPTCHA는 최후의 수단이지만 아직 다른 조치가 있습니다. –

관련 문제