2012-10-22 4 views
0

사용자가 양식을 속여 입력을 ROLE로 변경하면 해당 필드를 데이터베이스에서 변경할 수 있습니다. 가짜 입력을 통해 Yii 양식을 보호하려면 어떻게해야합니까?Yii 위조 된 양식 취약점

모델 Users.php는

array('role', 'numerical', 'integerOnly'=>true), 

답변

2

당신은 '형태의 보호'할 수 없다. 세션 또는 다른 상태 저장 방법을 통해 클라이언트 (즉, 양식)에서 서버 (즉, PHP)로 데이터를 이동해야합니다.

사용자의 컴퓨터가 데이터를 설정해야하는 경우 (양식을 통해) 사용자가 원하는대로 원하는대로 변경할 수 있습니다. 독립적으로 서버 쪽에서 확인하는 방법이 없다면, 양식이 신뢰할 수있는 것을 보내 줄 것을 기대하지 마십시오.

에 관한 세션, 참조 : 서버 측에서만

저장 상태 정보 및 민감한 데이터 : 공통 약점 열거 프로젝트 (http://cwe.mitre.org/data/definitions/807.html)에서 http://www.yiiframework.com/doc/api/1.1/CHttpSession

자세한 정보 선전. 시스템이 자신의 상태 및 사용자 상태를 명확하고 모호하지 않게 추적하고 합법적 인 상태 전이에 대해 정의 된 규칙이 있는지 확인하십시오. 응용 프로그램 사용자가 상태 에 직접적으로 영향을 미치지 않도록하려면 상태 전환으로 이어지는 합법적 인 동작 이외의 방법으로 직접적으로 영향을 미치지 마십시오.

+0

엄지 손가락의 규칙에 따라 Yii에서도 사용자 입력에 대한 규칙 만 정의하므로 질량 할당이 불가능합니다. – Asgaroth