我使用PHP构建了一个Web表单,它获取用户的基本详细信息并将其插入到MSSQL表中。该网络表格将在公司的外部网站上使用,并被各种各样的人使用。
在这种情况下我假设我需要使用SQL Server身份验证创建登录,对吗?
我写了一个快速脚本来为数据库设置一个新的登录和用户,并且只允许它从网络表单中插入数据。
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脚本的顶部是否足够安全,或者是否应将此详细信息存储在其他地方并使用INCLUDE调用?
提前致谢!
答案 0 :(得分:0)
PHP文件在服务器端执行。这意味着观众无法看到代码,即使使用严格限制的帐户,PHP也非常安全。但是,您必须确保自己免受XSS(跨站点脚本)的侵害。
http://www.practicalecommerce.com/articles/509-Protect-Data-From-Cross-Site-Scripting-XSS-Attacks
将数据放在PHP脚本的顶部或将其包含在单独的PHP脚本中并不重要。但是,如果您要在多个不同的脚本上连接到数据库,那么如果您必须更改任何细节,将会更容易,因为您只需要更改一个文件。