2014-11-07 1 views
0

뷰 소스에서 JSON PHP 출력을 숨기고 싶습니다. amCharts로 작업 중이며 mySQL 데이터베이스에서 데이터를 가져 와서 JSON으로 포맷하는 PHP 데이터 소스를 만들었습니다 형식을 사용하면 amchart가 읽을 수 있습니다. 뷰 소스에서 형식이 지정된 JSON 데이터를 숨길 수 있으며 아직 amchart가이를 읽었습니다.보기 소스에 PHP JSON 출력 표시 안 함

아래 My PHP 코드입니다. 귀하의 도움을 크게 주시면 감사하겠습니다.

<?php 
// Connect to MySQL 
$link = mysql_connect('localhost', 'root', 'VPM2014') 
or die('Could not connect: ' . mysql_error()); 


// Select the data base 
$db = mysql_select_db('vpm_global', $link) or die ('Error selecting database \'vpm_global\' : ' . mysql_error()); 

// Fetch the data 
$query = "SELECT Price_date, ZAR_Based_1000 FROM gso ORDER BY Price_date ASC"; 
$result = mysql_query($query); 

// All good? 
if (!$result) { 
// Nope 
$message = 'Invalid query: ' . mysql_error() . "\n"; 
$message .= 'Whole query: ' . $query; 
die($message); 
} 

$prefix = ''; 
echo "[\n"; 
while ($row = mysql_fetch_array($result)) { 
echo $prefix . " {\n"; 
echo ' "date": "' . $row['Price_date'] . '",' . "\n"; 
echo ' "value": ' . $row['ZAR_Based_1000'] . '' . "\n"; 
echo " }"; 
$prefix = ",\n"; 
} 
echo "\n]"; 

// Close the connection 
mysql_close($link); 
?> 

답변

5

는 JSON 데이터로 차트를 제공하는 소스를 숨길 수있는 방법이 없습니다. JSON을 출력하지 않으면 차트에 데이터가 없습니다.

4

JSON 데이터를 숨기고 차트를 제공하는 유일한 방법은 서버 측을 이미지라고 말하고 HTML을 사용하여 이미지를 사용자에게 표시하는 것입니다.

사용중인 차트 라이브러리가 클라이언트 측 javascript이기 때문에 JSON도 클라이언트에서 사용할 수 있어야하며 '소스보기'또는 다른 DOM 디버그 도구를 사용하여 브라우저에 표시되어야합니다.

+0

감사합니다. 공용 폴더에서 .php 파일이 들어있는 폴더를 숨길 수 있습니다. 관심 없어. – jasonh

+1

@jasonh PHP 파일이 차트 이미지를 생성하는 경우에는 작동하지 않습니다. 문제의 파일은 공개적으로 액세스 할 수 있어야합니다. 예를 들어 '' –

0

실제로 클라이언트에게 데이터를 보낼 수 없으며 사용자가 자신이 수행 한 작업을 여전히 제어 할 수 있다고 기대할 수 있습니다. 데이터를 훔치기가 더 어려워 질 수 있습니다. HTTP Refere 헤더를 확인하는 것. 또는 법적인 문제에 대해 경고하고 법정에 출두하는 등의 방법으로 고객을 겁 내지 만 그래도 이들 중 어느 것도 성공적인 도둑에 의한 인터넷 인구의 20 % 이상을 막을 수는 없습니다.

유일한 해결책은 다른 사람들과 마찬가지로 이러한 데이터를 보내지 않는 것입니다. 마찬가지로, 서버에서 차트를 생성하고 (여하튼) 클라이언트에게 그림으로 결과 만 보냅니다. 그렇게하면 원시 데이터를 얻지 않고 그래프 시각화 (적어도 서버를 해킹 할 때까지)를 얻을 수 있습니다.