刚毕业进入一家互联网公司 ,看以前的代码存在很多安全隐患,比如看js代码,可以通过ajax发送一些请求,来完成一些操作。 现在有什么方法可以提高我代码的安全性,有没有什么书或者工具可以推荐? 多谢!
回复内容:
推荐几个:高级PHP应用程序漏洞审核技术 [https://code.google.com/p/pasc2at/wiki/SimplifiedChinese]
Php Codz Hacking [http://www.80vul.com/pch/]
Some Of Discuz! Bugs [http://www.80vul.com/dzvul/]
80Vul [http://www.80vul.com/]
WST BBS [http://www.phpsec.net/]
WooYun Zone [http://zone.wooyun.org/zone/php] 已有的答案都偏向于系统后端安全,我来提供一个前端开发的思路:
1、所有涉及数据更改的操作(增删改)都应该使用 POST 方法
2、所有用户输入的内容都应该进行转义(esacpe)
3、在 HTML 文档的 head 部分首先指明 charset (见 http://code.google.com/p/doctype/wiki/ArticleUtf7)
4、设置正确的 document.domain
5、如果依赖 cookies 验证登录状态,要确保当前域下的 cookies 没有被污染(见 Yummy cookies across domains 路 GitHub)
6、尽量不要使用 JavaScript 动态插入文本控件(尤其是还用 onxxx 绑定事件的,可以借鉴 AngularJS 的思想)
想到再补充 WooYun知识库 你了解web的安全知识越多,你的代码也就越安全了,如果你写代码的时候会想起那些知识的话。。。 每一个变量都是秘应该关注的。每一次输入都是有害的。 XSS, SQL注入检查, CSRF, 其它参见: 白帽子讲Web安全 (豆瓣)

tomakephpapplicationsfaster,关注台词:1)useopcodeCachingLikeLikeLikeLikeLikePachetoStorePreciledScompiledScriptbyTecode.2)MinimimiedAtabaseSqueriSegrieSqueriSegeriSybysequeryCachingandeffeftExting.3)Leveragephp7 leveragephp7 leveragephp7 leveragephpphp7功能forbettercodeefficy.4)

到ImprovephPapplicationspeed,关注台词:1)启用opcodeCachingwithapCutoredUcescriptexecutiontime.2)实现databasequerycachingusingpdotominiminimizedatabasehits.3)usehttp/2tomultiplexrequlexrequestsandredececonnection.4 limitsclection.4.4

依赖注入(DI)通过显式传递依赖关系,显着提升了PHP代码的可测试性。 1)DI解耦类与具体实现,使测试和维护更灵活。 2)三种类型中,构造函数注入明确表达依赖,保持状态一致。 3)使用DI容器管理复杂依赖,提升代码质量和开发效率。

databasequeryOptimizationinphpinvolVolVOLVESEVERSEVERSTRATEMIESOENHANCEPERANCE.1)SELECTONLYNLYNESSERSAYCOLUMNSTORMONTOUMTOUNSOUDSATATATATATATATATATATRANSFER.3)

phpisusedforsenderemailsduetoitsbuilt-inmail()函数andsupportiveLibrariesLikePhpMailerandSwiftMailer.1)usethemail()functionforbasicemails,butithasimails.2)butithasimimitations.2)

依赖性(di)inphpenhancesCodeFlexibility andTestability by decouplingClassesscyclasses fromtheippentencies.1)UseConstructorientoctionTopAssDopassDectiesViactructors Viactructors

推荐Pimple用于简单项目,Symfony的DependencyInjection用于复杂项目。1)Pimple适合小型项目,因其简单和灵活。2)Symfony的DependencyInjection适合大型项目,因其功能强大。选择时需考虑项目规模、性能需求和学习曲线。

依赖性注射(DI)InphpisadesignpatternwhereClassDepentenciesArepassedtotosedTosedTosedTotratherThancReateDinterally,增强codemodemodularityAndTestabily.itimprovessoftwarequalitybyby By:1)增强tosestabilityTestabilityTestabilityThroughityThroughEasyDepentyDepententymydependentymocking,2)增强Flexibilybya


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

记事本++7.3.1
好用且免费的代码编辑器

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境