作为一项安全措施,我想隐藏我在服务器上使用的技术堆栈。有效的方法是什么?我想过
1)使用mod_rewrite或Rewrite Module隐藏任何页面扩展名,如.php或.aspx
2)关闭所有错误报告
1b)使用mod_rewrite故意提供误导性扩展,例如将php页面伪装为aspx
2b)使用1b)抛出误导性错误,使我的php页面显示类似asp的错误。
答案 0 :(得分:2)
这是一项不可能完成的任务。您将不得不修改整个堆栈,在这种情况下,您将刚刚创建了新的错误版本,您现在必须与供应商的版本保持同步。
如果不使您的网站更少安全,就没有办法做到这一点。
你可以做一些蹩脚的事情,比如删除X-Powered-By,或者改变会话生成方案,如果它使用像ASP或PHP这样已知的方案。事实上,它不会阻止任何实际想知道你正在运行的人。
对于基本示例(它比更深更深),一些Web服务器将接受任何标头,因此我可以说GET LOLOLOL HTTP/1.1
它仍然有效。有些堆栈会使会话保持活动状态,有些则不会。您还可以看到堆栈中有哪些功能,因为Web上有这么多功能,并且任何堆栈都无法支持完全相同的设置。
答案 1 :(得分:1)
答案 2 :(得分:0)
您可以在响应中添加假Server:
和/或X-Powered-By
标头,假装它是由其他服务器生成的。 (或者,Server: My Unhackable Server
)