질문: Cookie Hijacking, CSRF, SQL Injection 방어 기능이 필요합니다.
Yii framework의 보안이 CI보다 좋습니다.
http://daniel.carrera.bz/2009/01/comparison-of-php-frameworks-part-i/
Builtin Cookie Hijacking
CodeIgniter has this. You have the option of encrypting your sessions, and if they aren’t encrypted then a token is used for CSRF validation purposes. You’ll see it on 140-158 of the session class. The cookie helper does not have this built in as it is a helper to facilitate development, and a dev would need to code this for themselves.
이미 있다. 세션을 암호화하는 옵션이 있고 암호화하지 않으면 토큰이 CSRF 검증목적으로 사용된다. 세션 클래스의 140-158에서 볼 수 있다. 쿠키헬퍼는 개발을 쉽게하기위한 헬퍼이기 때문에 만들어지지 않았다. 그리고 개발자가 스스로 코딩할 필요가 있다.
CSRF
While CI easily facilitates a dev adding this in, it is not currently a default implementation. We’ve added this into ExpressionEngine 2 by extending the form helper. We’re looking at the best way to port it over, but currently sessions are the easiest way to achieve this.
CI는 이걸 추가함으로서 개발을 쉽게할 수 있는 반면, 이것은 현재 디폴트로 구현되지 않았다. 우리는 이걸 익스프레션엔진2에 폼헬퍼로 확장함으로서 추가하였다. 우리는 이걸 포팅해오려고 최선을 다하고 싶지만 현재 세션은 이걸 획득하는 최고 쉬운 길이다.
SQL Injection 보호 기능이 필요
A quick read of the userguide pages around databases should alleviate your concerns. I invite you to to let me know if you still have questions after reading it. CI supports very robust sql injection sanitization, as well as query-binding (prepared statements) if you choose to use them.
데이터베이스에 관한 유저가이드 페이지를 빨리 읽으면 걱정을 덜 수 있다. 그걸 읽고도 여전히 질문이 있는지 궁금하다. CI는 탄탄한 SQL인젝션 보호기능이 있고 쿼리바인딩(준비된 구문)을 사용하길 원하면 지원한다.
이런 답변들이 왔습니다. 구체적으로 무슨말인지 하나도 모르겠는데요. 이런 보안기능이 다 지원되는 걸까요? 어떻게 생각하십니까? 어떻게 구현하라는 말인가요?
인젝션의 경우 액티브레코드를 사용하면 자동으로 방지할 수 있습니다.
csrf의 경우도 세션 암호화를 사용하지 않아도 체크하여 방지할 수 있다고 이야기하네요.
(세션 라이브러리 140-158줄 참고)
결론은 세가지 모두 지원된다 입니다.