나는 안드로이드 애플 리케이션에서 정보를 수신하고 그것을 처리하는 PHP 스크립트에 데이터를 보내고 있습니다. 보안 문제를 발견했습니다 : 누군가가 URL을 발견하면 (예 : mydomain). com/recievedata.php), 누구든지 내 시스템에 데이터를 보낼 수 있습니다.안드로이드와 PHP 연결, 보안 방법
클라이언트가 데이터를 보내는 데 앱을 사용하는 가장 좋은 방법은 무엇입니까?
감사합니다.
나는 안드로이드 애플 리케이션에서 정보를 수신하고 그것을 처리하는 PHP 스크립트에 데이터를 보내고 있습니다. 보안 문제를 발견했습니다 : 누군가가 URL을 발견하면 (예 : mydomain). com/recievedata.php), 누구든지 내 시스템에 데이터를 보낼 수 있습니다.안드로이드와 PHP 연결, 보안 방법
클라이언트가 데이터를 보내는 데 앱을 사용하는 가장 좋은 방법은 무엇입니까?
감사합니다.
내가보기에 쉬운 방법 중 하나는 비밀 키를 포함시키는 것입니다. 예를 들어 POST 데이터에 secret=3CH6knCsYmvA2va8GrHk4mf3JqmUctCM
매개 변수가있을 수 있습니다. 그런 다음 receivedata.php
의 상단에 필요한 것은 쉽게 random.org에서 임의의 문자열을 생성 할 수 있습니다
if($_POST['secret'] != '3CH6knCsYmvA2va8GrHk4mf3JqmUctCM') {
header('HTTP/1.1 403 Forbidden');
error_log("ERROR: wrong secret: " . $_POST['secret']);
exit("Access denied");
}
입니다.
물론 이것은 가장 안전한 방법이 아니며 문자열이 APK의 일반 텍스트로 저장 될 수도 있습니다 (시작 코드를 보내는 데이 코드를 사용하지 마십시오!). 그러나 대부분의 사람들을 쉽게 지켜줄 수있을만큼 쉽습니다. . 이것은 게임에 대한 플레이어 점수를 보내는 데 적합 할 수 있습니다.
안녕하세요, 이것은 코드를 작성한 방법입니다.하지만 그들은 등록 및 기타 사항에서 user_id와 같은 데이터를 보낼 정도로 안전하지 않다고 나에게 말했습니다. 감사. – Mario
다른 사람들이 무엇을 원하니? 그들은 사용자가 로그인하기를 원합니까? 데이터를 암호화하여 전달해야합니까? 이들은 서로 다른 유형의 관심사입니다. –
유일한 방법은받는 데이터를 신뢰하지 않는 것입니다. 악의적 인 사람이 만든 조작 된 데이터에 적합한 방식으로 취급하십시오.
PHP와 더 비슷합니다. 여기 보안을 위해해야 할 일들이 있습니다.
이렇게하면 아무도 앱없이 PHP 파일을 사용할 수 없습니다. 그리고 귀하의 허가 없이는 어떤 데이터도받을 수 없습니다.
요청 헤더에 특별한 내용을 추가 할 수 있습니까? 이것은 여전히 깨질 수 있지만 URL을 보지 않고서는 깨질 수 있습니다. – kosa
무엇과 같은 특별 콘텐츠? 어떤 사양이나 무언가가 있습니까? 감사합니다 – Mario