刚毕业进入一家互联网公司 ,看以前的代码存在很多安全隐患,比如看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安全 (豆瓣)

APHPDependencyInjectionContainerisatoolthatmanagesclassdependencies,enhancingcodemodularity,testability,andmaintainability.Itactsasacentralhubforcreatingandinjectingdependencies,thusreducingtightcouplingandeasingunittesting.

Select DependencyInjection (DI) for large applications, ServiceLocator is suitable for small projects or prototypes. 1) DI improves the testability and modularity of the code through constructor injection. 2) ServiceLocator obtains services through center registration, which is convenient but may lead to an increase in code coupling.

PHPapplicationscanbeoptimizedforspeedandefficiencyby:1)enablingopcacheinphp.ini,2)usingpreparedstatementswithPDOfordatabasequeries,3)replacingloopswitharray_filterandarray_mapfordataprocessing,4)configuringNginxasareverseproxy,5)implementingcachingwi

PHPemailvalidationinvolvesthreesteps:1)Formatvalidationusingregularexpressionstochecktheemailformat;2)DNSvalidationtoensurethedomainhasavalidMXrecord;3)SMTPvalidation,themostthoroughmethod,whichchecksifthemailboxexistsbyconnectingtotheSMTPserver.Impl

TomakePHPapplicationsfaster,followthesesteps:1)UseOpcodeCachinglikeOPcachetostoreprecompiledscriptbytecode.2)MinimizeDatabaseQueriesbyusingquerycachingandefficientindexing.3)LeveragePHP7 Featuresforbettercodeefficiency.4)ImplementCachingStrategiessuc

ToimprovePHPapplicationspeed,followthesesteps:1)EnableopcodecachingwithAPCutoreducescriptexecutiontime.2)ImplementdatabasequerycachingusingPDOtominimizedatabasehits.3)UseHTTP/2tomultiplexrequestsandreduceconnectionoverhead.4)Limitsessionusagebyclosin

Dependency injection (DI) significantly improves the testability of PHP code by explicitly transitive dependencies. 1) DI decoupling classes and specific implementations make testing and maintenance more flexible. 2) Among the three types, the constructor injects explicit expression dependencies to keep the state consistent. 3) Use DI containers to manage complex dependencies to improve code quality and development efficiency.

DatabasequeryoptimizationinPHPinvolvesseveralstrategiestoenhanceperformance.1)Selectonlynecessarycolumnstoreducedatatransfer.2)Useindexingtospeedupdataretrieval.3)Implementquerycachingtostoreresultsoffrequentqueries.4)Utilizepreparedstatementsforeffi


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Dreamweaver CS6
Visual web development tools

WebStorm Mac version
Useful JavaScript development tools

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),
