php和mysql - 这样安全吗?

时间:2017-05-26 20:58:37

标签: php mysql mysqli

我目前正在开发一个将共享相同数据的网站和网络应用程序(不同的代码),并且这些数据存储在数据库中。我是这样做的:

我有两个域名

  

域1 - >包含实用程序(即查询数据库的php文件)

     

域2 - >包含网站

domain2我向http://domain1.com/utilities/php/domain2/get_from_db.php发送请求,这会让我得到我需要的结果。

我担心这不安全,因为文件以某种方式暴露出来?

它曾经是一个空网站,如果你要导航到http://domain1.com/,文件结构是可见的。我现在创建了一个空的index.php文件,因此文件结构不再可见了。

我觉得这仍然不太安全,我是否正确?

数据库文件如下:

  

的config.ini

     

get_from_db.php

get_from_db.php有这个代码连接并从db获取数据:

header("Access-Control-Allow-Origin: http://domain2.com");
$db = new mysqli($host, $config['username'], $config['password'], $config['dbName');

if ($db->connect_errno > 0) {
    die('Unable to connect to database [' . $db->connect_error . ']');
}

if (mysqli_connect_errno()) {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}


class data
{
    public $id = "";
    public $col1 = "";
    public $col2 = "";
    public $col3 = "";
    public $col4 = "";
}

$sql = "SELECT * FROM myDb.myTable";
$result = mysqli_query($db, $sql) or die(mysqli_error($db));

$obj = array();

while ($row = $result->fetch_assoc()) {
    $col1 = $row['col1'];
    $col2 = $row['col2'];
    $col3 = $row['col3'];
    $col4 = $row['col4'];

    $e = new cvdata();
    $e->col1 = $skills;
    $e->col2 = $hobbies;
    $e->col3 = $education;
    $e->col4 = $experience;
    array_push($obj, $e);

}

echo json_encode($obj);

现在,我的最后一个问题是:

这种安全程度是否足够? (我的意思是,我知道登录等等,但这是一个非常简单的项目,每个人都试图使用网站或应用程序的数据,因为它根本不敏感(这只是一些项目&#39) ;详细信息,全部))

感谢您提供任何帮助,建议或建议

1 个答案:

答案 0 :(得分:1)

这取决于您的数据的敏感程度。如果我们谈论非常严重的数据,我会尝试使用JWT - esque令牌授权系统,但如果它只是一些小问题,例如在餐馆的菜单卡片中,我设置domain2是唯一一个能够制作cross-origin HTTP requests并完成它的人。

应该 做的是将config.ini从可见路径中取出。将其降低到只能通过文件系统访问的级别,但不能通过http://domain2.com/config.ini