gpt4 book ai didi

javascript - 共享主机上的安全 MySQL 密码

转载 作者:可可西里 更新时间:2023-11-01 07:37:13 24 4
gpt4 key购买 nike

我为商业客户制作了一个简单的网页,该网页在主要由我们基于 B2C Prestashop 的电子商店使用的 MySQL 数据库上运行。我们正在使用共享主机。该网站主要基于 jQuery jTable (jtable.org),旨在显示当前的大概产品库存。

我使用了 jQuery jTable 'starter pack' 并为我们的合作伙伴创建了一个简单的前端 View 。它看起来或多或少像 jTable 教程中的那个:

        $(document).ready(function () {

//Prepare jTable
$('#PeopleTableContainer').jtable({
title: 'Product Availability',
actions: {
listAction: 'someconfigfile.php?action=list',
},
fields: {
column1: {
title: 'column1',
width: '70%',
key: true
},
column2: {
title: 'column2',
width: '30%'
}
}
});

//Load person list from server
$('#PeopleTableContainer').jtable('load');

});

因为我只想显示我在 MySQL 数据库中的数据,所以我准备了只读用户,我正在使用他的凭据访问数据库。正如在 jQuery 脚本中所见,我正在通过 someconfigfile.php 和“list”操作访问数据库。

someconfigfile.php 包括 MySQL 连接字符串以及用于在前端 View 中填充表的 SQL 查询。为了安全起见,我想做的是将 someconfigfile.php 放在我的 public_html 文件夹上方的目录中。包含前端 HTML、PHP 和 CSS 文件的文件夹将保留在 public_html 下。

我的问题是:

  • 如果我将密码放在 public_html 之上,任何人都可以访问我的密码吗?我的整个前端代码就是上面的这个 jQuery jTable。
  • 如果我只使用 mysql_fetch_assoc($result) 获取数据然后打印 array() 的 json_encode,我是否容易受到 SQL 注入(inject)攻击?用户不能在此处输入任何数据。

编辑:另请注意,在 jTable CRUD 函数中,我只留下了读取选项。创建、更新和删除选项已被删除。

最佳答案

我不确定这到底是如何工作的,因为我还没有尝试过,但前几天了解到,所以我想分享一下。

使用 GoDaddy,您可以将您的主域名指向一个子目录,因此可以在它之前创建一个新的文档根目录。其他主机可能不是这种情况,但值得检查。

例如,在您的根目录中创建一个名为“application”的新目录,将您的应用程序的文件上传到那里并将您的主域指向那里(您可能需要先删除域名,然后再添加到指定目录) .然后,您可以在新文档根目录之前包含文件(例如您的数据库凭据),该根目录现在对公众不可用,但对您的应用程序可用。

新结构

数据库凭证:

/home/www/html/someSite/dbCredentials.php

您的网站(现在指向主域):

/home/www/html/someSite/application/index.php

示例:

在 dbCredentials.php 中添加您的凭据:

<?php
$strHostName = “10.10.10.10”;
$strDbName = “dbname”;
$strUserName = “dbuser”;
$strPassword = “xxx***xxx”;
?>

在您的网页上,像往常一样包含文件和使用变量:

<?php
require_once ('/home/www/html/someSite/dbCredentials.php');
$db_found = new PDO("mysql:host=$strHostName..........);
?>

来源:

http://support.godaddy.com/help/article/4175/specifying-a-new-default-document-root-on-your-hosting-account?pc_split_value=4&countrysite=uk

如果你尝试了,请告诉我结果如何。

关于javascript - 共享主机上的安全 MySQL 密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21725032/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com