收藏此站 联系我们 网站
当前位置:首页» 公司新闻 » 【建站服务】资兴网络公司哪家好【资兴企业网站百度SEO推广公司】资兴做网站开发价格、资兴淘宝店铺开店装修设计运营、公司网站制作方案流程改版维护费用、资兴高端企业网站页面制作设计专业公司需要多少钱-域名

【建站服务】资兴网络公司哪家好【资兴企业网站百度SEO推广公司】资兴做网站开发价格、资兴淘宝店铺开店装修设计运营、公司网站制作方案流程改版维护费用、资兴高端企业网站页面制作设计专业公司需要多少钱-域名

作者: 风兰 . 阅读量: 4 . 发表时间:2022-09-20 13:22:39

网站建设

上往建站提供服务器空间服务商百度快照排名网站托管百度推广运营,致力于设计外包服务与源代码定制开发360推广搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。


资兴网络公司哪家好【资兴企业网站百度SEO推广公司】资兴做网站开发价格、资兴淘宝店铺开店装修设计运营、公司网站制作方案流程改版维护费用、资兴高端企业网站页面制作设计专业公司需要多少钱

资兴市,湖南省辖县级市,由郴州市代管,位于湖南省东南部。因唐代旧县治位于资兴江畔(今东江湖)而得名,是郴商的发源地之一。资兴市地处湘江流域耒水的上游,在罗霄山脉西麓、茶永盆地南端,为湘、粤、赣三省交汇处。东邻桂东县、株洲市炎陵县,南接汝城县、宜章县,西连苏仙区,北抵永兴、安仁县。总面积2746.79平方公里。 [1] 

2017年,资兴市实现地区生产总值362.51亿元,按可比价格计算,增长8.3%。其中,第一产业增加值26.95亿元,增长4.2%;第二产业增加值223.59亿元,增长6.9%;第三产业增加值111.97亿元,增长12.5%。三次产业结构为7.4:61.7:30.9。 [2]  资兴市名优特产主要有杨梅、东江鱼、狗脑贡茶等;风景名胜主要有东江湖、寿佛寺、回龙山等。资兴市下辖2乡9镇2街道;户籍总人口37.85万人,常住人口34.97万人(2017年)。2017年10月,被住建部命名为国家园林城市。2018年11月,被科技部确定为首批创新型县(市), [3]  入选中国县级市全面小康指数前100名。第三批“绿水青山就是金山银山”实践创新基地。 [4] 

2019年3月6日,中央宣传部、财政部、文化和旅游部、国家文物局《中央宣传部 财政部 文化和旅游部 国家文物局关于公布《革命文物保护利用片区分县名单(第一批)》的通知》资兴市名列其中。 [5] 

2020年6月,经中央依法治国委入选为第一批全国法治政府建设示范地区和项目名单。 [6]  2020年度真抓实干成效明显,被湖南省人民政府公布为推动高质量发展成效明显的县市区,给予100万元标准奖励。

还记得我们前面刚学的三级参数规则吗?虽然在应用参数配置中已配置公共version参数规则,但我们可以在具体的接口类中重新配置这个规则。把在Hello World接口中把这个版本参数类型修改成此自定义回调类型。即:

// $ vim ./Shop/Api/Welcome.php     class Api_Welcome extends PhalApi_Api {

    public function getRules() {
        return array(
            'say' => array(
                'version' => array('name' => 'version', 'type' => 'callable', 'callback' => 'Common_Request_Version::formatVersion'),
            )
        );
    }... ...复制代码

修改好后,便可使用此自定义的回调处理了。当正常传递合法version参数,如请求/shop/welcome/say?version=1.2.3,可以正常响应。若故意传递非法的version参数,如请求/shop/welcome/say?version=123,则会提示这样的错误:

"msg": "非法请求:版本号格式错误"复制代码

由于自 PHP 5.4 起可用callable类型指定回调类型callback。所以,为了减轻记忆的负担,这里使用callable或者callback来表示类型都可以,即可以配置成:'type' => 'callable',,也可以配置成:'type' => 'callback',。回调函数的选项也一样。

以下是来自PHP官网的一些回调函数的示例:

// Type 1: Simple callbackcall_user_func('my_callback_function'); // Type 2: Static class method callcall_user_func(array('MyClass', 'myCallbackMethod')); // Type 3: Object method call$obj = new MyClass();call_user_func(array($obj, 'myCallbackMethod'));// Type 4: Static class method call (As of PHP 5.2.3)call_user_func('MyClass::myCallbackMethod');复制代码

参考:更多请参考Callback / Callable 类型

所以上面的callback也可以配置成:

'callback' => array('Common_Request_Version', 'formatVersion')复制代码

2.2.3 过滤器与签名验证

如何开启过滤器进行签名验证?

当需要开启过滤器,只需要注册DI()->filter即可。在初始化文件init.php中去掉以下注释便可启用默认的签名验证服务。

// $ vim ./Public/init.php// 签名验证服务DI()->filter = 'PhalApi_Filter_SimpleMD5';复制代码

这里的过滤器是指PhalApi在具体接口服务前所执行的过程,主要用于签名验证或实现其他预加载处理的功能。

默认的签名方案

PhalApi提供了一个默认签名验证方案,主要是基于md5的签名生成。这个只是作为一般性的参考,在实际项目开发中,我们应该在此基础上进行调整延伸。

其默认验签的算法如下:

  • 1、排除签名参数(默认是sign)

  • 2、将剩下的全部参数,按参数名字进行字典排序

  • 3、将排序好的参数,全部用字符串拼接起来

  • 4、进行md5运算

  • 5、追加签名参数

如前面我们看到的,除了配置公共参数规则version外,我们还配置了公共参数规则sign。此sign参数则主要用于这里的签名验证。下面是一个具体的例子。

假设请求的接口服务链接是:

/shop/?service=Welcome.Say&version=1.2.3复制代码

则会按以下方式生成并验证签名。

  • 1、排除签名参数(默认是sign)

    ?service=Welcome.Say&version=1.2.3复制代码
  • 2、将剩下的全部参数,按参数名字进行字典排序

    service=Welcome.Sayversion=1.2.3复制代码
  • 3、将排序好的参数,全部用字符串拼接起来

    "Welcome.Say1.2.3" = "Welcome.Say" + "1.2.3"复制代码
  • 4、进行md5运算

    35321cc43cfc1e4008bf6f1bf = md5("Welcome.Say1.2.3")复制代码
  • 5、追加签名参数

    ?service=Default.Index&username=dogstar&sign=35321cc43cfc1e4008bf6f1bf复制代码

开启默认签名后,需要按以上算法生成签名sign,并且在每次请求接口服务时加上此参数。在缺少签名或者签名错误情况下,会提示类似以下的错误。

{
    "ret": 406,
    "data": [],
    "msg": "非法请求:签名错误"}复制代码

接口服务白名单配置

细心的读者会发现,对于默认的接口服务Default.Index是不需要进行签名验证的,这是因为在接口服务白名单中进行了配置。对于配置了白名单的接口服务,将不会触发过滤器的调用。

接口服务白名单配置是:app.service_whitelist,即配置文件./Config/app.php里面的service_whitelist配置,其默认值是:

    'service_whitelist' => array(
        'Default.Index',
    ),复制代码

配置的格式有以下四种。

表2-4 接口服务白名单匹配类型

类型

配置格式

匹配规则

示例及说明

全部

*.*

匹配全部接口服务(慎用!)

如果配置了此规则,即全部的接口服务都不触发过滤器。

方法通配

Default.*

匹配某个类的任何方法

即Api_Default接口类的全部方法

类通配

*.Index

匹配全部接口类的某个方法

即全部接口类的Index方法

具体匹配

Default.Index

匹配指定某个接口服务

即Api_Default::Index()

如果有多个生效的规则,按短路判断原则,即有任何一个白名单规则匹配后就跳过验证,不触发过滤器。

以下是更多的示例:

    'service_whitelist' => array(
        '*.Index',           // 全部的Index方法
        'Test.*',            // Api_Test的全部方法
        'User.GetBaseInfo',  // Api_User::GetBaseInfo()方法
    ),复制代码

配置好上面的白名单后,以下这些接口服务全部不会触发过滤器:

// 全部的Index方法?service=Default.Index?service=User.Index// Api_Test的全部方法?service=Test.DoSth?service=Test.Hello?service=Test.GOGOGO// Api_User::GetBaseInfo()方法?service=User.GetBaseInfo



资兴网络公司哪家好资兴企业网站百度SEO推广公司】资兴做网站开发价格、资兴淘宝店铺开店装修设计运营、公司网站制作方案流程改版维护费用、资兴高端企业网站页面制作设计专业公司需要多少钱


上往建站提供搭建网站域名注册官网备案服务网店详情页设计企业网店专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管网页美工排版,致力于域名申请竞价托管软文推广全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机网站推广百度竞价托管网站建设上网建站推广服务网络公司有哪些等业务,专业团队服务,效果好。

服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)


关键词:网站建设,企业网站,网站制作,网页设计,高端网站建设,企业网站制作,网页制作,制作网站,网站设计,高端网页设计,高端网站设计,做网站,自适应网站

全国服务热线
18114747181
二维码
手机端二维码
上往建站
地址:全国各地都有驻点商务 |  网站建设上往建站
在线咨询QQ:1120768800
 
QQ在线咨询
售前咨询热线
18114747181
营销顾问
营销顾问
售后服务热线
400-000-1116
售后服务
售后服务