2010-04-20 5 views
3

mechanize을 사용하는 경우 웹 사이트에 대한 새로운 Google 웹 로그 분석 프로필을 만들 수 있습니다. 프로그래밍 방식으로 로그인 폼을 채우고 쿠키를 데이터베이스에 저장하면됩니다. 그런 다음 쿠키가 만료 될 때까지 내 사용자 이름과 비밀번호를 다시 입력하지 않고도 웹 로그 분석 관리자 패널에 액세스 할 수 있습니다.데이터베이스에 쿠키를 안전하게 저장하고 있습니까?

OpenAuth 또는 그 중 어떤 방법 으로든 새 분석 프로필을 만들 수 없다고 가정하면 실제 Google 애널리틱스 프로필을 새로 만들지는 못합니다. 애널리틱스 API는 데이터를 보는 데 사용되며, 하지만 새로운 분석 프로필을 만들어야합니다.) 데이터베이스에 쿠키를 저장하는 것이 좋지 않습니까?

쿠키를 데이터베이스에 저장하면 사용자가 브라우저를 사용하지 않아도 프로그래밍 방식으로 Google 애널리틱스에 쉽게 로그인 할 수 있습니다 (앱에 '사용자, 당신이 만든 각각의 새 도메인에 대한 새로운 anaytics 프로파일을 만드는 후크. 일단 자격 증명을 입력하면 우리는 로그인하고 안전하게 유지할 것입니다. "). 그렇지 않으면 나는 더 나빠 보이는 이메일과 패스워드를 계속 전송해야한다.

쿠키를 데이터베이스에 안전하게 저장하고 있습니까?

답변

0

먼저 인증 된 세션이 만료되고 Google 연결이 끊어 지므로 이것이 잘못된 방법입니다. 더 이상 Google Analytics API을 사용해야합니다.

그러나 데이터베이스의 세션 ID 저장은 안전하지 않습니다.

이것은 내가 아는 바는 아니지만 알려진 취약점입니다. 그러나 그것은 많은 귀하의 응용 프로그램을 공격하기 쉽게합니다. SQL 삽입은 매우 일반적이므로 주어진 취약점으로 인한 영향을 제한하도록 응용 프로그램을 설계해야합니다. 이것이 암호가 해시 된 이유입니다. 왜냐하면 침입자가 완전한 절충안을 얻는 것을 지연시키기 때문입니다. 즉시 사용할 수있는 세션 ID를 저장하면 응용 프로그램에 대한 SQL 주입 취약점이 더욱 심각 해집니다.

당신이 어떤 플랫폼을 사용하고 있는지 잘 모르겠습니다 만, 보안에 신경 쓰고 있기 때문에 리눅스를 사용한다고 가정합니다. :). 파일에 사용자 이름/암호를 저장하는 것이 좋습니다. chmod 700 file_name과 같은 파일의 권한을 조정하고 파일이 웹 서버 소유인지 확인해야합니다 (chown apache:apache file_name). MySQL을 사용하는 경우 ruby ​​응용 프로그램의 사용자 계정에서 file_priv (파일 권한)을 제거하십시오. 공격자가 SQL injection을 통해 파일을 읽고 쓸 수 있기 때문에 파일 권한은 정말 불쾌합니다.

+0

더하기 1 - 데이터베이스에 세션 ID를 저장하지 마십시오. 이것은 계정 인계를위한 지름길입니다. – rook

관련 문제