Sus*_*usa 6 php architecture security zend-framework
你应该知道的事情知道我的性格 -
1.我的第一次建立一个"大"的网站.
2.使用PHP
3. 不知道网站的可扩展性,尽管我已经阅读了相当多的内容.
4. 如果它给了我很多架构的灵活性,同时仍然给我提供安全性,性能等优点,那么愿意使用框架.
主要问题是 -
假设您在我的位置并想要实现您的原始架构,您需要注意哪些事项?
您将如何实施安全性?无论如何,您可以导入第三方安全模块并将其集成到您的网站中吗?
我知道我正在制造缺陷......只是想知道它们主要是什么......接下来会解决它们.谢谢 :].
您应该首先阅读并测试Zend Framework.因为这只是一个框架和一系列图书馆和长期开发者的经验.
有些人说你之前应该尝试构建自己的框架,然后把它扔进篮子并回到ZF(Zend Framework).这取决于你有多少时间(年).但这是正确的,当你以前疯狂的时候更容易理解好的选择:-)
这个世界上没有人可以自己建立一个好的建筑,你需要别人的经验来制造你自己的新错误,而不是旧错误.过去没有人足够聪明,以防止我们所有的CMS(phpNuke,还有更多,但我不想伤害一些在大型CMS上工作的人,现在仍在那里).
所以使用ZF MVC模型,读取(真的)ZF文档(即使你不会使用它).了解为什么这些工具对安全性非常重要.
一个好的PHP应用程序要注意的重要事项:
什么都不共享:默认情况下PHP没有办法在用户请求之间存储数据.因此,中期存储/长期存储/会话存储必须存储在某处:
过滤输入/转义输出:如果你好好利用Zend_Form,Zend_Filter,Zend_Validators,如果你总是在你的视图中使用escape()这部分安全性应该没问题(这在大多数PHP应用程序中都是一个很大的大问题在那里).将您的数据库视为输出之一,将html页面视为另一个,将json视为另一个,等等.您的输入也是众多,用户输入,cookie,可能是其他一些数据库,外部网站等.
避免绝对网址:尝试始终使用相对网址.至少总是使用框架给出的url helper来构建你的url.
得到漂亮的网址地图:如果您只需阅读网址就可以在不同的部分剪切您的应用程序,那么您将需要为您的应用程序构建更复杂的硬件平台.管理员需要在应用程序前面为反向代理缓存设置一些配置文件.他们能够检测到所需的https部分吗?您是否通过特定路径提供所有静态文件?我们可以根据网址定义缓存时间策略吗?
设计模式:没有人足够聪明地理解他的编码选择的所有后果以及这段代码必须发展的方式.设计模式可以收集良好的实践.如果你的问题没有设计模式解决方案,那么也许你不明白你的问题:-).说实话,有时可能会有一种更简单,更快捷的方式,但在决定不使用它们之前,你应该先了解模式.
许多PHP专家在不使用框架的情况下完成了他们的代码(因为大多数框架实际上并不是很好).但PHP世界中的代码质量很差,实际上,在很多网站上进行XSS注入仍然很容易.现在是时候变得更好了,不要相信你好世界的例子,建立一个好的webapp很难:-).
| 归档时间: |
|
| 查看次数: |
1236 次 |
| 最近记录: |