隐藏在视图源中显示的PHP JSON输出

时间:2014-11-07 09:49:23

标签: php mysql json

我想在视图源中隐藏我的JSON php输出,我正在使用amCharts并创建了PHP数据源,从mySQL数据库中提取数据并将其格式化为JSON格式,以便amcharts可以读取它。是否可以在视图源中隐藏格式化的JSON数据,并且仍然可以读取它。

我的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);
?>

3 个答案:

答案 0 :(得分:5)

无法隐藏源 为您的图表提供JSON数据。如果您没有输出JSON,那么您的图表将无法获得任何数据。

答案 1 :(得分:4)

隐藏JSON数据并提供图表的唯一方法是创建图表服务器端,例如图像,并使用HTML将该图像显示给用户。

由于您使用的图表库是客户端javascript,因此客户端也必须可以使用JSON,因此浏览器可以使用“查看源代码”&#39;或其他DOM调试工具。

答案 2 :(得分:0)

您无法真正向客户发送数据,并希望您仍可以控制自己使用该功能。你只能让它更难以窃取数据。比如检查HTTP Refere标头。或者通过警告客户提出有关法律事务的警告并上法庭等等。但是,这些都不会阻止超过20%的互联网人口从最终成功的小偷那里。

唯一真正的解决方案就像其他人说的那样,不会向他发送这些数据。比如,在服务器上生成图表(不知何故)并将结果作为图片发送给客户端。这样他就不会获得原始数据,只是图形可视化(至少在他攻击你的服务器之前)。

相关问题