共享主机上的安全MySQL密码

姆维琴斯基

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

我使用了jQuery jTable“入门包”,并为我们的合作伙伴创建了一个简单的前端视图。它看起来或多或少类似于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连接字符串以及用于在前端视图中填充表的SQL查询。为了安全起见,我想在我的public_html文件夹上方的目录中放置someconfigfile.php。包含用于前端的HTML,PHP和CSS文件的文件夹将保留在public_html下面。

我的问题是:

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

编辑:请注意,从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

如果您尝试尝试,请让我知道它的进展。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Aurelia共享主机上

来自分类Dev

共享主机上的Laravel部署-404错误

来自分类Dev

共享主机上的Django应用部署

来自分类Dev

共享主机上的快速交付网页

来自分类Dev

共享主机上的Composer内存已用尽

来自分类Dev

.htaccess共享主机上的多个域

来自分类Dev

主管无法在共享主机上启动

来自分类Dev

在共享主机上获取阵列错误

来自分类Dev

Angular 2.在共享主机上运行

来自分类Dev

典型的共享Linux Web主机上的权限

来自分类Dev

Plesk共享主机上的Codeception 404

来自分类Dev

共享主机上PHP中的异步任务

来自分类Dev

主管无法在共享主机上启动

来自分类Dev

在共享的Web主机上部署

来自分类Dev

限制共享主机上IP的资源使用

来自分类Dev

共享主机上的SPDY和SEO语义

来自分类Dev

共享主机上的 Ghost 博客错误 404

来自分类Dev

共享主机上的主管替代方案

来自分类Dev

在共享主机上使用 Laravel 进行 htaccess

来自分类Dev

在共享主机上运行 phantomjs 程序?

来自分类Dev

PHP Mysql安全密码

来自分类Dev

MySQL 密码安全

来自分类Dev

无法在共享主机上执行Laravel Artisan命令

来自分类Dev

Symfony2-共享主机上的引导很慢

来自分类Dev

Laravel Queue:如何在共享主机上使用

来自分类Dev

在共享Web主机上连续运行Java应用

来自分类Dev

SSE或长时间轮询以获取共享主机上的实时通知?

来自分类Dev

Laravel 5在共享主机上-错误的public_path()

来自分类Dev

Laravel 5哈希函数在共享主机上运行非常慢