저는 현재 매우 바쁜 인터넷 웹 사이트 용 API를 구축 중입니다. MySQL과 함께 PHP로 작성되었습니다. 이제 사람들이 자신의 계정에 원격으로 액세스 할 수있게 해주는 필자가 작성한 첫 번째 API입니다. API가 온라인 상태가되면 개발자는 자신의 도구를 작성할 수 있습니다.PHP/MYSQL을 사용하여 보안 공용 API 작성하기
이제 API가 작동하지만 완전히 안전한지 확실하지 않습니다. 일하는 것이
URL의 예는 다음과 같습니다 http://domain.com/api.php?api_option=list&api_user_name=USERNAME&api_user_password=PASSWORD
USERNAME
는 : 실제 이름
PASSWORD
사용자 것 : 자신의 실제 암호의 MD5 인코딩 된 문자열이 될 것입니다.
세부 정보가 일치하면 결과가 반환되고 그렇지 않으면 오류가 반환됩니다.
모든 외부 $_GET
입력은 mysql_real_escape_string()
처리를받습니다.
간단하게 유지하고 싶었지만이 방법이 사용자 계정 데이터를 직접 누르는 공개 API를 사용하는 안전한 방법인지 확실하지 않습니다.
아이디어와 제안을 많이 듣습니다.
URL에 암호 해시가있는 것은 좋은 생각이 아닙니다. 더 좋은 방법은 사용자와 API 사이에 어떤 형태의 인증을 호출하는 API 키를 갖는 것입니다. – diagonalbatman
모든 의견을 주셔서 감사합니다, OAuth, 내가 필요로하는 것에 대해 조금 복잡해 보입니다. 그래서 나 자신의 API 키 설정을 만들고 있습니다. auth 키가 연결된 user_id를 사용하여 데이터베이스에 저장된 키가있는 부분이 있습니다. 이 설정은 작동하지만 사용자는이 키를 가져와야합니다. 다른 사용자가이 API에서 도구를 작성하는 경우 사용자는 등록 된 사용자 이름/패스로 로그인 할 수 있어야합니다.그래서 저는 여전히 원격으로 API 키를 생성하기 위해 사용자 이름과 암호를 모두받을 수있는 초기 $ _GET url을 얻는 방법을 알지 못합니다. –