2014-01-16 61 views
0

是它仍然是安全的,有一个像网址:PHP文件 - 安全

http://www.website.eu/product.php?id_product=916 

如果没有,什么是安全的优劣呢? 有人可以请指点一下关于这种安全实践的最新信息的链接。

谢谢

+4

它和底层脚本及其支持软件/硬件一样安全。如果您保持服务器软件的最新状态并采取措施避免恶意使用,那么它是完全安全的。如果您暗示要隐藏.php扩展名,完全可以这样做,但绝不会提高服务器的安全性。通过默默无闻的安全性是行不通的。 – GordonM

+0

@GordonM,非常令人信服的答案。谢谢 –

回答

1

据我所知没有任何安全缺陷。只要你的代码能够清理所有的用户输入,并且在发生错误时不泄露敏感信息,比如文件路径或查询,你应该没问题。只要确保阻止用户不应该访问的目录的所有访问权限,例如您的库或配置目录。

1

你可以在这里做的最基本的事情就是将其转换为lofical网址,而不是现在的物理网址。

physical URL - http://www.website.eu/product.php?id_product=916 
Logical URL - http://www.website.eu/product/916 

这将只公开所需的东西,而不是代码的完整实现样式。

为此,您将不得不对product.php所在文件夹的.htaccess文件进行一些小的更改。

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^product/$ product.php?product_id=$1 [NC] 
+3

这没有任何意义。如果你想做SQL注入,你不需要知道'$ _GET'参数是'id_product',因为它是在脚本中自动设置的。有或没有URL重写,你有相同的脚本。 '$ product_id = $ _GET ['product_id'];'在这两种情况下。 – GuyT

+0

但是,最好不要公开文件的确切物理URL。 –

+0

谢谢@AkshatGoel的建议,这是一个很好的增强(不要公开确切的物理URL)。但GuyT的评论是正确的。 –