2011-06-24 54 views
0

我已经使用PHP构建了一个Web窗体,它接受用户的基本信息并将它们插入到MSSQL表中。这个网页表格将被用在公司的外部网站上,并被各种各样的人使用。使用有限权限创建安全的MSSQL登录

这种情况下,我假设我需要创建一个使用SQL Server身份验证的登录,对吗?

我写了一个快速脚本来为数据库设置一个新的登录名和用户,并赋予它只能从Web表单插入数据的能力。

CREATE LOGIN TESTWeb WITH PASSWORD = 'monkey' 
USE companydb 
CREATE USER memaw FOR LOGIN TESTWeb 
GRANT INSERT TO memaw 
Go 

很明显,这些都是暧昧的细节。 :)

这会安全吗?我理解的方式是,这将使登录TESTWeb能够仅将数据插入数据库'companydb'中,而没有别的。

此外,我对通过PHP脚本连接到MSSQL的含义以及它的安全性有点模糊。

<?php 

$server = 'site_man'; 
$user = 'TESTWeb'; 
$pass = 'monkey'; 

$con = mssql_connect($server, $user, $pass); 

//rest of script 
?> 

是有这个在你的PHP脚本的顶部足够安全还是应该这个细节存储在别处并使用包含叫什么名字?

在此先感谢!

回答

0

PHP文件在服务器端执行。这意味着观看者无法看到代码,即使使用严格限制的帐户,PHP也非常安全。但是,您必须确保您保护自己免受XSS(跨站点脚本)的攻击。

http://www.practicalecommerce.com/articles/509-Protect-Data-From-Cross-Site-Scripting-XSS-Attacks

不要紧,不管你把在PHP脚本的顶部的数据,或者它包含一个单独的PHP脚本。但是,如果要在多个不同的脚本上连接到数据库,那么如果您必须更改任何细节,则会更容易,因为您只需要更改一个文件即可。

+0

谢谢,那就是我的想法。 有关MSSQL问题的任何想法? – Splatgore