2013-11-26 2 views
0

편집 : 내 질문에 약간 빗나있어 가능성이 떨어지는 것 같습니다. 가능한 한 간결하게 : HTML 요청을하는 사용자가 발생하는 예외를 피하는 데 관심을 가져야합니까?정상적인 상호 작용 이외의 사용자 입력에 대한 예외 처리

HTML에서 정수 값을 사용하는 드롭 다운 필드를 사용하고 있습니다. 이 값은 백 오피스에서 파싱됩니다. 현재 정수 구문 분석이 실패하면 사이트는 최상위 예외 처리로 인해 일반 오류를 제공하고 정수 구문 분석 오류가 포함 된 감사 내역에 항목을 배치합니다.

일반적으로 잘못된 사용자 입력으로 처리되지 않은 예외가 발생하는 것을 원하지는 않지만이 경우 잘못된 입력은 봇이나 영리한 사용자 만 생성 할 수 있습니다. 이러한 경우에 오류 메시지가 예기치 않게 발생하지 않으므로 보안 문제가되어서는 안됩니다.

예외를 처리 할만한 다른 이유가 있습니까? 이 작업을 수행하면 사용자가이 범죄를 저지른 경우 내가 원하는 일을 공식화해야합니다. 나는 봇과 악의적 인 사용자에게 그들 자신의 작은 검증 에러를 보여줄 수 있습니까? 값을 기본값으로 설정하고 양식을 제출하도록 허용합니까?

+0

클라이언트 측 유효성 검사를 사용하고 있으며 절대로 깨지지 않을 것으로 기대하십니까? – Dethariel

+0

아니요,이 프로젝트에는 표준 클라이언트 측 유효성 검사가 없습니다. 모든 것이 서버 측에서 검증됩니다. – Sprague

답변

0

내가 갖고있는 대답은 다릅니다.

예를 들어, 은행 계좌 관리 시스템을 작성하고 "Lorem ipsum"달러를 그의 대가 중 하나에서 다른 것으로 이동하려는 경우, 이는 매우 나빠서 안됩니다. 이 일을하게하십시오. 일반 오류의 사용자 메시지는 문제가되지 않습니다.

"역 폴란드어 표기법 온라인 계산기"를 쓰고 ";" 문자를 사용하면 사용자에게 정확한 이유를 표시 할 수 있습니다.

당신이 사용자의 나이를 확인하는 경우는 0과 100 사이의 정수 희망하지만, 당신은 2,147,483,647 값을 얻을, 단순히 (10)

이 더 같다하여 대체 할 괜찮을 프로젝트에 따라 기술 의존적 인 질문보다.

+0

나는 당신이 무슨 말을하는지 이해하지만 의도적으로 오류가 얼마나 중요한지에 대해서는 관심이 덜하다. 그리고 적절한 곳에서 처리하는 것이 더 중요하다. (내 경우에는 최상위 예외 처리 나 실제 웹 메서드를 기본값 또는 유효성 검사.) – Sprague

+0

나는 그 대답도 그 커버 생각,하지만 내가 틀렸어. 내 expirience에서 가까이 오류가 처리되면 쉽게 찾을 수있을 것이라고 말하고 싶지만. 그러나 ** **이 오류가 일반 사용자에게 나타나지 않는다고 가정하면 높은 수준의 처리를 유지할 것입니다. 어떤 프로젝트를 진행하고 있는지 알지 못하면 덜 일반적으로 알려주는 것이 어렵습니다. – Dethariel

+0

나는 동의하지 않는다. 예외가 가까울수록 문제에 더 가까워 질 것이라고 생각합니다. 처리 된 예외는 사용자가 응용 프로그램의 동작에 대해 불평하지 않는 한 개발자 또는 관리자가 알 수 없습니다 (슬프게도이 중 일부는 이렇게합니다!). 그렇게해서는 안되는 예외 처리를 피하려고하는 한 가지 이유가 있습니다 , 그들은 가까운 곳에서 보통 법의 특징을 만들어냅니다. – Sprague