从另一台服务器保护MySQL连接

Joe*_*oeP 1 php mysql ajax

我有一个包含车辆列表的数据库,其中前三列用于使用AJAX填充链式选项值.这三个菜单可以在我的网站上选择特定的车辆.我被问到是否可以在第三方网站上提供此车辆查询,目的是使用三层菜单在第三方网站上返回一个小的,可爆炸的字符串作为$ _POST数据.

请问最好的方法是什么?我可以启用远程连接,但在我知道如何充分保护它之前我很谨慎.

对不起,如果这看起来很蠢!我还没有使用localhost以外的任何连接.

提前致谢,

Col*_*ard 5

我认为没有理由让第三方访问您的数据库.

因为它看起来像你想上给他们公共accessable数据量非常小,为什么不直接对自己的网站,它返回XML或JSON格式的数据,这是他们为所欲为的网址.

这解决了您的直接要求,如果您需要,可以将其发展为更复杂的服务.


这是一些简单的PHP,您可以使用它以JSON格式返回数据.用适合您数据库的东西替换SQL.

$sth = mysql_query("select m.make, l.model, i.count from makes m, models l, inventory i where i.makeid = makeid and i.modelid = l.modelid");
$rows = array();
while($r = mysql_fetch_assoc($sth)) {
    $rows[] = $r;
}
print json_encode($rows);
Run Code Online (Sandbox Code Playgroud)

重要说明:此代码很简单,但如果您想接受第三方的输入,则不适用.如果你想让它们例如查询你库存的Fords数量,你需要一个准备好的声明,例如PDO:

$stmt = $pdo->prepare("select i.count from makes m, inventory i where i.makeid = makeid and make = :make");    
$stmt->execute(array(':make' => $make));
Run Code Online (Sandbox Code Playgroud)

  • 一个很好的建议是,"API"不一定是过于复杂的东西. (2认同)