2010-04-26 3 views
0

MVC 2를 내 iPhone 앱의 중간 레이어로 사용하려고합니다. 여기서 기본 교장은 MVC 사이트에서 사용자가 iPhone의 데이터를 POST하고 MVC 응용 프로그램에서 실행되는 SQL 데이터베이스의 데이터를 가져올 수있는 API를 노출합니다. MVC 2 프로젝트는 논리를 앞뒤로 쉽게 할 수 있습니다.ASP.Net MVC2 토큰 및 기타 등을 통한 사이트 보안

나는 그것에 관한 몇 가지 질문이 있습니다 ... 1. 인식 된 iPhone 만 GET/POST 방법에 액세스 할 수 있도록 MVC 응용 프로그램을 보안하는 가장 좋은 방법은 무엇입니까? 2. SQL Server에 대한 공유 호스팅 계정을 사용하고 내 dbconnections를 가리 키기 시작할 수 있습니까? 3. 이것을 구현하는 데 가장 좋은 다른 생각은 무엇입니까?

내가 MVC 아주 새로운하지만 사용에 대한 매우 흥분 ...

감사합니다!

답변

0

귀하의 게시물이 실제로 asp.net MVC에 관한 것인지 모르겠습니다.

첫 번째 질문은 인식 된 iPhone 만 GET/POST 방법에 액세스 할 수 있도록 앱을 보호하는 방법입니다. 이것은 HTTP 질문과 비슷하게 들리며 "안전"에 대한 귀하의 정의와 귀하가 시도하고있는 것에 달려 있다고 생각합니다. 당신은 잠재적으로 아이폰으로부터 라이센스 키 (내가 생각할 HTTPS를 통해)를 보내고 그것을 인증 할 수 있습니다. 그러나 누군가가이 키를 공유하거나 비 아이폰에서 사용하는 것을 막을 수있는 방법은 없습니다. 등록시 해시 또는 무언가를 생성 한 다음 유효성을 검사 (Windows 유효성 검사를 생각하십시오)하면 도움이 될 수 있지만 항상이 방법이 있습니다. 요컨대, "등록 된 아이폰"에 대한 진정한 테스트를 할 수는 없지만, "등록 된 iPhone"으로 정의하여 잠재적으로 스푸핑 될 수는 있지만 사용자의 요구에 "충분"할 수는 있습니다.

MVC에서는 유효성 검사를 속성 수준에서 수행해야합니다. 일종의 유효성 검사 속성으로 동작을 꾸미십시오. 내장 된 ASP.NET 인스턴스는 Authorize라고하며 ASP.NET 기본 제공 멤버에서 작동합니다. 그것은 당신이 사용하기를 원하는 것 같지 않기 때문에 HTTP 요청을 직접 확인하기 위해 자신의 속성을 만들길 원할 것입니다.

공유 호스팅 계정을 사용하는 것과 관련하여 나는 확실하지 않습니다. 공유 호스팅 계정이 필요에 따라 작동하는지 묻는 중입니까? 귀하의 필요를 모르지만 공유 호스팅은 1) ASP.NET MVC 및 2) SQL 데이터베이스를 수용 할 수 있습니다. 이것은 당신이 요구하는 정말 높은 수준의 질문이다

0

... 어떻게 든 전화 또는 사용자 + 전화 (에 고유 키를 묶어되는이 상황에서 어떻게 할 것인지

는 아이폰이 어떻게 작동하는지에 따라 달라집니다 - 수 여러 사용자를 보유하고 있습니까?). 이것은 여러 가지 방법으로 수행 할 수 있지만 사용자가 사이트를 인증하고 휴대 전화를 계정에 연결하게하는 것이 일반적입니다. 이 프로세스 중에 차후 요청에 사용하는 고유 키를 전화기로 전송합니다.

이것은 몇 가지를 제공합니다

행동에 대한

기본 보안 - 당신이 허용되는지 확인하기 위해 데이터베이스에 대해 입력 키를 확인하고

사용자 연결 수는 - 수 있습니다 당신은 쉽게 사용자 데이터를 저장을 귀하의 사이트에서 "클라우드"로 연결하고 누가 즉시 연결하고 있는지 알려주십시오.

실제로하려면 속성으로 제안 된 statichippo로 가야합니다. 특정 작업의 역할 요구 사항에 대해 사용자의 유효성을 검사하기 위해이 작업을 수행합니다.

공유 호스팅이 작동 할 수도 있지만 앱이 성공하면 더 많은 힘이 필요할 수 있습니다. 클라우드 호스팅은 여기에 유용 할 수 있습니다. 매일 피크/붐 시간과 낮은 사용 시간을 갖기 때문입니다.

0

실제 사용자 인터페이스가없고 데이터 전송에만 사용되는 경우 프로젝트로 WCF 웹 서비스를 만드는 것이 좋습니다. 그런 다음 세부 사항과 같은 것을 사용하여 iphone 앱에서이 웹 서비스를 사용할 수 있습니다. in this blog post.

웹 서비스는 이러한 상황을 위해 설계되었으며 다양한 인증 및 보안 방법을 제공합니다. 또한 RESTful입니다.