我为商业客户制作了一个简单的网页,它在主要由我们的B2C Prestashop基础电子商务平台使用的MySQL数据库上运行。我们使用共享主机。这个网站主要基于jQuery jTable (jtable.org),旨在显示产品的当前、近似库存。
我使用了jQuery jTable的“起步包”,并为我们的合作伙伴创建了一个简单的前端视图。它看起来有点像jTable教程中的那个。
我使用了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查询。出于安全考虑,我想将someconfigfile.php文件放在public_html文件夹上面的目录中。包含HTML、PHP和CSS文件的用于前端的文件夹将保留在public_html下面。
我的问题是:
- 如果我将它放在public_html上面,我的密码是否会被任何人访问到?我的整个前端代码只有这个jQuery jTable。
- 如果我只使用mysql_fetch_assoc($result)获取数据,然后打印数组()的json_encode,我是否容易受到SQL注入攻击?用户不会在此输入任何数据。
编辑:请注意,jTable CRUD函数中我只留下了Read选项。Create、Update和Delete选项已被删除。