저는 OLAP 서버에 의해 부분적으로 작동 될 공용 웹 프로젝트에 참여하고 있습니다. 입력 검증의 많은 웹 서버가 수행클라이언트 측 OLAP (예 : 클라이언트 측 MDX 생성 + xmla4js)이 보안에 좋지 않습니까?
내 초기 아이디어는 AJAX를 통해 웹 서버에 사용자의 의도의 일부 표현을 통과했다 : 나는 보안 관점에서이 일을 몇 가지 방법을 비교하고 싶어 적절한 MDX 식을 구성하여 OLAP 서버에 전달하고 마지막으로 OLAP 결과를 다시 브라우저에 프록시 처리합니다. (접두사로,이 방법은 jpivot에 의해 취해진 접근법 인 것 같습니다. 예를 들어 jpivot 예제에서 테이블로 드릴 다운하기 위해 클릭 한 것입니다. 그리고 서버로 보내지는 것은 MDX가 아니라 간단히 x-www-form-urlencoded 문자열입니다 "wcf65768426.x = 3 & wcf65768426.y = 3".)
대조적으로, xmla4js 프로젝트는 개방 방화벽 포트 또는 적어도 특정 고객에 (세계에 OLAP 서버를 노출 전제 보인다) XML/A를 통해 클라이언트 측 javascript에 MDX 쿼리를 작성하고 브라우저가 OLAP 서버에 직접 도달하게합니다.
내 직감은 두 번째 접근법에 대해 상당히 의심 스럽습니다. OLAP 서버에 대해 임의의 MDX 문을 실행하면 아무런 문제가 발생하지 않는다고 가정합니다. 나는 아직 고급 MDX 학생은 아니지만 이것이 위험이없는 제안이라는 것은 나에게 즉시 명백하지 않습니다. 적어도 누군가는 매우 비싼 쿼리를 시작하거나 사람들이 쉽게 이용할 수 있기를 바라는 것보다 더 많은 데이터 세트를 다운로드 할 수 있습니다. 이것은 사람들이 SQL 서버로 일반적으로하는 일이 아니며, 나는 OLAP 서버로도하지 말아야한다는 동일한 이유가 있다고 생각하는 경향이 있습니다.
그러나 xmla4js 뒤에있는 사람들은 미친 보안 위험이 아니라는 것을 염두에두고 사용 사례가 있다고 가정하고 싶습니다. 잠재적으로 나는 이것에 대해 너무 조심스럽게 생각할 수 있다고 생각합니다.
경험 많은 OLAP 사람들은 사람들이 OLAP 서버에 직접적으로 뛰어 드는 지혜에 대해 의견을 말하고자합니다. XML/A를 통해?
관심 대상 : xmla4js는 최근 node.js에 대한 지원을 추가했습니다. tody 현재 트렁크에서만 다운로드가 진행 중입니다. 그러나이 nodejs 지원을 사용하면 XML/A 서버의 프록시 역할을하는 node.js 애플리케이션을 빌드 할 수 있습니다. 이 node.js 응용 프로그램에서 OLAP 서버로 요청을 보호하거나 제한하는 논리를 작성할 수 있습니다. –