2011-03-04 5 views
2

우리는 JTOpen을 사용하여 AS/400 시스템에 연결하고 있습니다. 이러한 유형의 통합을 사용할 때 SQL 주입의 위험을 피하려고합니다.JTOpen을 사용하여 AS/400에 연결했을 때 SQL 주입의 위험이 있습니다.

jdbc 연결이 아닌 API의 호출 프로그램 부분 만 사용한다는 점에 유의하십시오.

저는 RPG 프로그래머가 아니며 코드에 SQL 삽입을받는 것과 관련하여 위험 요소가 무엇인지 알지 못하며 JTOpen API가 이러한 종류의 공격을 중지하는지도 모릅니다.

나는 약간의 인터넷 검색 후에 RPGLE 프로그램에 SQL 주입을 할 수 있다는 것을 알았습니다. 스토어드 프로 시저를 사용하지 않을 때입니다. 내 질문은 : JTOpen API를 통해이 작업을 수행 할 수 있습니까?

JTOpen API의 모든 호출에서 프로그래밍 방식으로 SQL 주입을 확인해야합니까?

+0

"SQL injection"에 대한 제목 줄이 ** "dependency injection"과 완전히 ** 다릅니다. –

+0

오, 고마워, 내 마음이 궁금해하는 것 같아. –

답변

1

JDBC를 사용하지 않는 경우 JT400을 사용하여 호스트에서 호출되는 프로그램에서 동적 SQL을 사용하는 경우 SQL 주입을 확인해야하는 유일한 이유가 있습니다.

호스트에서 실행중인 프로그램이 동적 SQL을 사용하지 않으면 전혀 위험하지 않습니다.

+0

고마워, 이건 내가 온 같은 결론이다. –

1

나는 자바 전문가가 아니므로 여기에 의사 코드를 사용하겠다.

내 이해에 따라 동적 SQL을 사용할 수 있지만 where 문을 연결하지 마십시오.

그래서 string = "select * from table where key = " + id은 완전히 잘못되었습니다. 그러나 비슷한 작업을 할 수 있습니다

더 나은 옵션은 저장 프로 시저를 사용하는 것이지만.

+0

'susu code'가 아닌 'psuedo-code'입니다. :) – Freiheit

+1

죄송합니다. 결정된. 아침이어야합니다 .... –

관련 문제