我目前正在开发一个网站和一个网络应用程序(不同的代码),将共享相同的数据,并且这些数据存储在数据库中。我做这样说:php和mysql - 这是安全的吗?
我有两个域
域1 - >包含的实用程序(即PHP文件查询DB)
域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
有这个代码连接,并从数据库中取回数据:
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);
现在,我的最后一个问题n是:
这个级别的安全性是否足够? (我的意思是,我知道登录等等,但这是一个非常简单的项目,数据应该可用于每个人尝试使用网站或应用程序,因为它根本不敏感(这只是一些项目的细节,这是所有))
感谢您的帮助,建议或意见
关于部分问题 - 您应该能够配置Web服务器以不列出目录的内容。在Apache中,例如:https://stackoverflow.com/questions/2530372/how-do-i-disable-directory-browsing –
您是否将请求发送到domain2客户端或服务器上运行的脚本的domain1?如果他们来自服务器,则可以在请求中使用简单的密码式身份验证。如果他们来自客户端,则需要更复杂的内容,以防止用户捕获流量并欺骗它。 – Barmar