之前讨论过这个问题:
为什么很多第三方接口,都改成了基于http,直接传递json数据的方式来代替webservice?
各位同学基本认同基于http协议的json数据格式来做web服务。现在想问一下,对于安全性要求应该怎么做。
我现在要设计的一套东西,安全要求有两点。
1.传输方面 要求使用TLS对会话过程加密
2.传递的数据本身 要使用ws-security规范要求加密
传输方面,我明白。但是在自身数据使用ws-security规范方面,有没有有经验的兄弟给解释一下。如果是我们使用http的json格式,怎么设计,能在安全方面能通过ws-security规范要求?因为我看这个规范主要是对着基本soap的webservice设计的。
回复内容:
之前讨论过这个问题:
为什么很多第三方接口,都改成了基于http,直接传递json数据的方式来代替webservice?
各位同学基本认同基于http协议的json数据格式来做web服务。现在想问一下,对于安全性要求应该怎么做。
我现在要设计的一套东西,安全要求有两点。
1.传输方面 要求使用TLS对会话过程加密
2.传递的数据本身 要使用ws-security规范要求加密
传输方面,我明白。但是在自身数据使用ws-security规范方面,有没有有经验的兄弟给解释一下。如果是我们使用http的json格式,怎么设计,能在安全方面能通过ws-security规范要求?因为我看这个规范主要是对着基本soap的webservice设计的。
后面那个加密应该是之前应对HTTP旧场景下的加密措施,现在HTTPs已经是超强加密了,不需要在数据层面再加一次密了。
ws-security,我帮你搜了一下,这个东西是在SOAP数据包结构之上的数据,确保数据合法性的做法无非就是使用签名,但是签个名而已有必要使用这种臃肿的标准吗?看看现在流行的做法一般是通过在每个调用端分配一个私钥,请求的时候把请求的所有参数用私钥做一段摘要,和请求参数一起发给服务器,然后服务器拿这个私钥重新做一遍摘要来验证请求者的身份。

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),
