2009-04-19 3 views
1

프로그램을 성공적으로 설치할 때 어딘가에서 가장 간단한 방법으로 알리려고합니다. 내 응용 프로그램은 Java 기반이며 Java 설치 프로그램이 있습니다. 모든 매개 변수로 http 호출을 수행 할 클라이언트를 쉽게 설치할 수 있습니다. 이는 문제가 아닙니다. 내 문제는 다른 측면에 있습니다 - 나는 호스팅 된 웹 사이트를 가지고 있고 거기에 모든 트래픽을 직접 원하는 그러나 프로그래밍 세계의 그 부분에 익숙하지 않은 :) 각 성공적인 설치 레코드를 덤프 것이 좋을 것이다. (나는 사이트에 통합 된 MySql을 가지고있다). 또 다른 옵션은 저에게 전자 메일을 보내거나 적어도 로그 파일에 꼬리표를 보내는 것입니다. 더 나은 것은 더 간단합니다. 어느 쪽이든 괜찮을 것이다. 누구나 접근을 제안 할 수 있습니까? 나는 약간의 PHP를 알고 있고 아마도 간단한 것들을 할 수있을 것입니다. 그러나 예제 나 출발점이 없으면 오늘날의 웹 기술 미로에서 길을 잃기가 매우 쉽습니다. :)최소한의 방법으로 "집으로 전화"를가는 방법?

답변

6

웹 사이트에 이미 로깅이 있습니까? 그렇다면 이미 적절한 URL에 대해 grep 할 수있는 로그 파일이 있습니다. 프로그래밍 필요 없음 :) 다른 곳에서 해당 URL로 연결하지 마십시오. 오 탐지 (false positive)로 끝나지 않아야합니다.

+0

AwStat와 같은 일반적인 로깅 기능을 가지고 있지만 직접 사용할 수는 없다고 생각합니다. – Dima

+1

원시 로그를 가져올 수 없다는 뜻입니까, 아니면 분석입니까? 심지어 특정 사용자 에이전트 나 분석에 나타날 다른 것을 지정할 수있는 경우에도 분석이 유용합니다. –

+0

사용자 에이전트는 좋은 생각입니다. 감사합니다! – Dima

1

모든 설치를 센트리 시키시겠습니까 당신의 신청서의? 그런 다음 "집으로 전화"는 일을하는 적절한 방법이 아닙니다. 응용 프로그램의 다운로드를 계산하면 어떨까요? 누군가 다운로드하면, 보통 설치하는 것입니다.

설치 관리자에서 잠재적 인 버그에 더 관심이있는 경우 뒤에 보고서를 작성하여 서버 으로 보내면 사용자가이를 수행하도록 요청할 수 있습니다.

+0

#downloads! = # 성공적인 설치 –

+0

위의 Jon Skeet이 말한 답변은 매우 간단합니다. 이건 내 문제 야. 얼마나 많은 성공적인 다운로드가 발생했는지 알 수있는보다 강력한 방법을 제안 할 수 있습니까? 성공적으로 다운로드 할 때마다 성공적인 설치가 이루어지는 것은 아닙니다. 나는 고객을 염탐 할 의도가 없으며, 그 반대는 사실입니다. 단지 서비스를 개선하는 것입니다. – Dima

+0

예, 거기에 포인트가 있습니다, Markus. 동의합니다. 더 좋은 방법입니다. 어쨌든, 사용자가 집에 전화를 걸었다 고 말할 수 있습니다. 서버에서 어떻게 처리합니까? 실제로 위에서 게시 한 PHP 스 니펫이 수행합니다. 귀하의 답변 주셔서 감사합니다! – Dima

2

PHP 스크립트를 사용하면 매우 간단합니다. 당신은 쿼리 문자열의 모든 데이터를 전달할 수 :

// For example, just a simple http call to log.example.com/?version=3.4.5b 
$version = $_GET['version']; 

$dbh = new PDO('mysql:host=localhost;dbname=mydb', 'myuser', 'mypass'); 

$sth = $dbh->prepare("INSERT INTO log SET version = :version, installed_at = :installed_at"); 
$sth->bindParam(':version', $version, PDO::PARAM_STR); 
$sth->bindParam(':installed_at', time(), PDO::PARAM_INT); 
$sth->exec(); 
+0

10ks! 나는 이런 식으로했다. – Dima

+1

$ version 값에 대한 입력 검증을 추가 할 수도있다.bindParam/exec 시퀀스가 ​​많은 보안 문제를 잡아낼 것이라고 생각하지만 일반적으로 변수 값을 확인하여 데이터베이스에 추가하기 전에 그 값이 무엇인지 확인하는 것이 더 안전합니다. 설치 기계의 IP를 로그에 추가 할 수도 있습니다. – kaybenleroll

+0

고마워, 나는 주위에 PHP 마법에 대해 갈거야 .. (그것에 한 줄을 쓴 적이 없어) 방금, 방향을 싶었어, 많이 고마워. – Dima

5

을 나는 존 소총은 이미 충분히 질문이지만 대답 것 같아요 .. 당신이 집에 전화를 할 경우

이 - 공손 위해 확인 당신이 사용자에게 알리고 허락을 요청하십시오.

나쁜 평판을 얻을 수 있습니다.