2012-01-15 2 views
2

입니다. 설명하기가 조금 어렵다고 생각합니다. 기본적으로 웹 앱에 연결하는 Android 앱이 있습니다. 나는 웹 애플 리케이션에서 만든 요청을 다른 곳에서는 만들 수 없기를 바란다. PHP를 사용하고 있습니다. 따라서, "send_data.php? foo = bar"라는 안드로이드 앱에서 요청을하는 경우, 안드로이드 앱에서만 보낸 것이 아니라면 그 요청이 작동하지 않기를 바란다. 그래서 그냥 내 브라우저에 가서 "send_data.php? foo = bar"라고 입력하면 제대로 작동합니다.앱에서 요청을 보낼 수있는 방법은

나는 한 가지 방법을 생각해 봤는데, "pw = 12345"와 같은 요청에 비밀 값을 가졌고, 그 다음에 PHP 스크립트에 if($pw = "12345")을 가졌지 만 누군가가 패킷을 냄새 맡을 수 있다고 생각했습니다. 쉽게 그 비밀 값을 얻을 수 있습니다. 이 일을 수행 할 수있는 방법이 있습니까?

+1

안드로이드 앱에서 웹 앱으로 데이터를 보내려면 ssl (https)을 사용하십시오. – Erik

답변

0

카심, 당신은 그것을 할 수

방법 중 하나는 변수를 얻을 대신의 게시물을 사용하고 다음 SSL 링크로 링크에 액세스 할 수 있습니다. 이렇게하면 게시 된 정보가 암호화되었는지 확인할 수 있습니다. 네가 그렇게 할 수 없다면 나처럼 할 수있어. 내가 서버에있는 전화로 보내는 데이터를 암호화했습니다. 그것은 휴대 전화에서 암호화 된 상태로 유지되며 앱에서 사용될 때만 해독됩니다. 이 방법은 누군가가 내 연결을 킁킁 거리고 데이터를 가져 오는 것이 중요하지 않습니다. 모두 쓸모가 없습니다. 희망이 도움이됩니다.

+0

하지만 어떻게 암호화합니까? 어떤 방법을 사용하면 데이터를 암호화 할 수 있지만 해독 가능 (해독 가능)합니까? – Qasim

+0

키가 서버와 휴대 전화에 저장되어 있고 전송되지 않은 경우 스니핑으로부터 상당히 안전하게 보호되는 한 여러 가지 암호화 방법을 사용할 수 있습니다. 나는 DES와 함께 광산을 사용했다. PHP 페이지는 HTTPS를 통해 JSON 형식으로 데이터를 보내기 전에 데이터를 암호화합니다. 전화는 데이터를 승인하고 암호화 된 데이터를 데이터베이스에 저장합니다. 나중에 앱에서 데이터를 사용해야 할 때 앱에서 데이터를 해독합니다. NMR과 마찬가지로 열쇠는 당신의 근원에서 충분한 작업을 통해 발견 될 수 있습니다. 트릭은 코드를 난독 화하기 위해 Proguard와 같은 것을 사용하여 가능한 한 안전하게 만드는 것입니다. –

0

완벽한 답변이 없습니다. 사이트에서 데이터를 암호화하는 데 사용되는 키를 보내지 만 패배시킬 수도 있습니다.

1

나는 이것이 암호로 안전한 방법으로 수행 될 수 있다고 생각하지 않습니다. 전화 앱 자체는 공개 데이터이므로 앱에 저장된 키는 궁극적으로 스니핑 할 수 있습니다.

그런데 키를 난독 화하고 암호화 된 형식으로 저장하고 위치를 숨기는 등의 적절한 길이로 갈 수 있다고합니다. 이는 사용자의 목적에 대한 충분한 억지력 일 수 있습니다. 그러나 모든 것이 쉘 게임이라는 것을 아는 것이 중요합니다. 앱의 키는 안전하지 않으며 동기를 부여받은 공격자는 결국 키를 추출합니다.

다른 방법으로는 사용자를 인증 한 다음 연결할 사람을 알 수 있고 서버 응답을 기반으로 할 수 있습니다. 사용자 인증은 암호 학적으로 강력합니다.

0

요청 인증에 대해 궁금해하고 있고 이동 중에 데이터를 스니핑하는 사람에 대해 우려하는 것처럼 보입니다. https를 사용하는 것이 모든 위험을 완화 할 수있는 유일한 방법입니다. this question에 대한 대답을 확인하십시오. 답변에 제공된 블로그 링크는 읽을만한 가치가 있습니다.

관련 문제