나는 php 스크립트에 가치를 보낼 app을 만들고있다. 그렇다면 PHP 스크립트는 MySQL 데이터베이스에 conncect하고 JSON 배열을 반환합니다. 그리고 앱이 그것을 읽었을 것입니다. 안전을 어떻게 보장합니까? 현재로서는 어떤 안전 조치도 사용하고 있지 않습니다.안전을 보장하는 안드로이드
답변
이 질문은 진정한 대답이 가치있는 책을 가져다 줄만한 거대한 주제입니다.
'안전 조치'에 대해 문의 하시겠습니까?
웹 서버 관련 문제가 있다면 먼저 웹 서버를 보호하고 가장 일반적인 공격 방법을 차단할 수있는 스마트 한 API를 만들어야합니다. URL에 무엇인가를 입력하는 것만으로 다른 사람들이 의도 한 사용자가 할 수있는 것과 동일한 일을 할 수 없도록해야합니다. 즉, API에 대한 액세스 권한을 부여하기 전에 사용자의 유효성을 검사해야합니다.
이렇게하는 가장 일반적인 방법은 서버와 클라이언트 만 알고있는 '비밀 키'를 공유하는 것입니다. 따라서 전화를 사용하는 사용자는 특정 키를 가지며 서버에는 키가 있습니다. 이제 사용자는 서버에 데이터를 보내고 sha1 (KEY + DATA)와 같은 검증 해시를 보냅니다. 그런 다음 서버는 데이터를 수신하고 해시가 동일한 지 확인합니다. 요청과 함께 키 자체를 보내지 마십시오.
테스트해야 할 또 다른 사항은 재생 공격입니다. 누군가가 의사 소통에 귀 기울이면 손상을 제한해야합니다. 이것은 요청에 타임 스탬프를 보내고 타임 스탬프가 허용 된 범위 내에 있는지 서버가 확인하므로 다른 사람이 나중에 동일한 요청을 다시 보내면 타임 스탬프가 다르기 때문에 실패합니다. 서버는 입력 데이터 유효성 검증을 위해 타임 스탬프가 고려되기 때문에이를 확인합니다.
그런 다음 서버에서 반환 된 데이터가 올바른지 확인해야합니다. 따라서 서버는 휴대 전화가 확인하는 유효성 검사 해시를 작성하여 누군가가 휴대 전화로 다시 전송되는 동안 데이터를 변경하지 않았는지 확인합니다.
추가 레이어로 AES/Rijndael 256 비트 암호화와 같은 강력한 암호화 알고리즘을 사용하여 보내고 (API에서받은) 데이터를 암호화 할 수도 있습니다. 그러면 데이터를 여는 데 필요한 키를 사용하여 데이터가 암호화됩니다. 전화와 서버가 키를 알고 있고 누구도 키를 안다면 데이터를 안전하게 보낼 수 있습니다.
다음 연결은 HTTPS/SSL이어야하며 이로 인해 통신이 수신되는 것을 방지 할 수 있습니다. 그러나 누군가가 이미 휴대 전화에 액세스 할 수있는 경우 도움이되지 않으므로 다른 언급 된 방법을 사용하는 것이 좋습니다.
휴대 전화의 보안 기능을 손상시킬 수있는 앱이 설치되어 있지 않은 한 휴대 전화는 매우 안전합니다. 또한 웹 서버를 덜 안전하게 할 수 있다고 생각한다면 휴대 전화 만이 안전하다고 통신하므로 해커는 자신의 휴대 전화에서 통신을 쉽게 수신하고 웹 서비스 API의 기초를 파악할 수 있습니다. 그 다음 모든 문을 열어 라. 따라서 보안 계층이 가장 큰 것부터 가장 작은 것으로 바뀌십시오. 웹 서버는 시스템에서 가장 큰 개체입니다.
자세히 알 수 있듯이이 학습에는 많은 시간이 걸릴 수 있습니다. 그러나 당신이 정확히 무엇을 요구했는지 모른 채 더 이상 당신을 도울 수는 없습니다.
- 1. 안전을 JavaScript로 표시
- 2. PHP에서 스레드 안전을 비활성화하는 방법?
- 3. 안전을 위해 파일을 다운로드 하시겠습니까?
- 4. thread 안전을 위해 compareAndSet 사용
- 5. Java 컬렉션을 보장하는 방법
- 6. AJAX 인코딩을 보장하는 방법
- 7. mouseup이 실행되도록 보장하는 jquery
- 8. 루프를 보장하는 메커니즘
- 9. 스레드 동기화를 보장하는 방법
- 10. 부스트 asio 포크 안전을 만드는 방법
- 11. 안전을 위해 mvc3에서 C# delete 함수 변경
- 12. 제네릭의 유형 안전을 얻고 때 제네릭을 사용하지
- 13. 데이터의 안전을 위해 MyISAM 또는 InnoDB를 선택해야합니까?
- 14. Celery에서 메시지 전달을 보장하는 방법은 무엇입니까?
- 15. 토스트와 시리얼 시맨틱을 보장하는 방법?
- 16. 컬렉션의 항목 순서를 보장하는 방법
- 17. 필드의 고유 제한을 보장하는 방법
- 18. sbcl에서 깨끗한 종료를 보장하는 방법
- 19. 스트링의 무결성을 보장하는 나의 방법은 안전한가요?
- 20. 트랜잭션의 ACID 속성을 보장하는 책임은 어디에 있습니까?
- 21. 해시 기반 ID의 고유성을 보장하는 방법은 무엇입니까?
- 22. PHP 올바른 명령 실행을 보장하는 방법을 순서
- 23. 유형에 정적 구성원의 존재를 보장하는 방법은 무엇입니까?
- 24. Ruby 서비스 지향 아키텍처 - 동기화를 보장하는 방법?
- 25. 평균적으로 각 스레드가 공유하는 뮤텍스를 보장하는 방법
- 26. 페이지 수준 보안을 보장하는 가장 좋은 방법
- 27. 이전에 일어난 것을 보장하는 객체를 동기화해야합니까?
- 28. JNDI에서 SSL을 통한 LDAP 연결을 보장하는 방법
- 29. 유니버설 해싱의 기초, 접근성을 보장하는 방법
- 30. 전자 메일 입력 형식을 보장하는 루비 정규식
무엇으로부터 안전합니까? –
안전이 떨어질 때 전화가 끊어지지 않습니까? –
나는 그가 어떻게 연결을 확보 할 수 있는지 묻고 있다고 생각합니다. –