我目前正在开发一个将共享相同数据的网站和网络应用程序(不同的代码),并且这些数据存储在数据库中。我是这样做的:
我有两个域名
域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) ;详细信息,全部))
感谢您提供任何帮助,建议或建议
答案 0 :(得分:1)
这取决于您的数据的敏感程度。如果我们谈论非常严重的数据,我会尝试使用JWT
- esque令牌授权系统,但如果它只是一些小问题,例如在餐馆的菜单卡片中,我设置domain2
是唯一一个能够制作cross-origin HTTP requests
并完成它的人。
应该 做的是将config.ini
从可见路径中取出。将其降低到只能通过文件系统访问的级别,但不能通过http://domain2.com/config.ini