2020-06-30

Kubernetes 两步验证

作者:CODING - 王炜

1. 背景

如果对 Kubernetes 集群安全特别关注,那么我们可能想要实现这些需求:

  • 如何实现 Kubernetes 集群的两步验证,除了集群凭据,还需要提供一次性的 Token 校验?
  • 如何验证部署的镜像是否安全合规,使得仅允许部署公司内部镜像仓库的 Docker 镜像?
  • 如何实现对每一个 Deployment 动态注入 sidecar ,满足特定安全或业务需求?
  • 如何实现集群级的 imagePullSecrets ,当创建新的命名空间的时候,自动将 imagePullSecrets 注入到新的命名空间?

本文以实现 Kubernetes 两步验证为例,利用 Kubernetes Admission 动态准入控制,同时借助 Serverless 实现一个两步验证的 Demo,使读者对动态准入控制Serverless有较深入的了解。

1.2 实现效果

Token 两步验证失败,不允许部署

Token 两步验证成功,允许部署

2. 什么是 Admission

Admission 是在用户执行 kubectl 通过认证之后,在将资源持久化到 ETCD 之前的步骤,Kubernetes 为了将这部分逻辑解耦,通过调用 Webhook 的方式来实现用户自定义业务逻辑的补充。而以上过程,都是在用户执行 kuberctl 并等待 API Server 同步返回结果的生命周期内。

上图标注的 ① 和 ② 是 Admission 介入的工作流程,我们会发现有这些特点:

  1. Admission 工作在集群认证通过之后
  2. Admission 一共有两种:MutatingValidating
  3. 这两种具体的实现方式都是以 Webhook 实现的
  4. Admission 的操作对象可以是当前部署的用户、Yaml 内容等

2.2 Admission Mutating

Mutating 的字面理解是"变异"的意思,真正的含义是,在资源持久化到 ETCD 之前,Mutating 控制器可以修改所部署的资源文件,比如给特定的 POD 动态增加 Labels,动态注入 sidecar 等。
细心的读者会发现,Admission Mutating 在很多产品都被用到,比如 Istio 里面就是使用它来动态的给每一个容器注入 sidecar Envoy 容器来实现流量的劫持和管理。

2.3 Admission Validating

Validating 比较好理解,也就是"验证",它在 Mutating 之后,我们可以将自定义的验证逻辑放在这个阶段实现。本文我们就是利用它来实现一个简单的两步验证机制。

3. 什么是 Admission Webhook

Admission Webhook 其实就是 Mutating ControllersValidating Controllers 的具体实现方式,也就是说,我们需要给 Kubernetes 集群提供一个外部 Webhook Endpoint,API Server 执行到对应流程时,会调用我们预定义的 Webhook 来实现我们预定义的业务逻辑,通过返回规定的数据结构,来实现对 Yaml 文件的变更或者验证。

4. 动手实践

4.1 集群条件

根据官方文档,先决条件有以下几点:

  • Kubernetes 集群版本至少为 v1.16
  • 启用了 MutatingAdmissionWebhook 和 ValidatingAdmissionWebhook 控制器

如果不确定,可以通过以下命令查询:

kubectl get pods kube-apiserver -n kube-system -o yaml | grep MutatingAdmissionWebhook,ValidatingAdmissionWebhook

如果你使用的是托管集群,那么请使用以下命令查询:

kubectl api-versions | grep admission

如果出现 admissionregistration.k8s.io/v1beta1 说明集群支持,进行下一步。

4.2 其他条件

  • 开通 CODING DevOps
  • 克隆代码仓库 admission-webhook-example.git 并推送到自己的 CODING Git 仓库
  • 准备一个 腾讯云账户

4.3 部署腾讯 Serverless 服务

  1. 登陆 CODING,并在配置 Serverless 身份授权,记录凭据 ID(类似:b68948cb-2ad9-4b67-8a49-ad7ba910ed92),稍后使用

  2. 克隆代码仓库 admission-webhook-example

git clone https://e.coding.net/wangweicoding/admission-webhook-example.git
  1. 修改根目录下的文件
  • 根目录下的 Jenkinsfile,将上一步获取的凭据 ID 替换光标处的凭据 ID
  • 修改 serverless/.env 的 VPC_IDSUBNET_ID,这两项可以在腾讯云控制台"私有网络"找到;如果没有私有网络和子网,则可以自己新建一个,注意地域选择"广州"

  • 修改完成后,将代码推送到你自己的 CODING Git 代码仓库
  1. 使用"空白模板"创建构建计划,选择"使用代码仓库的 Jenkinsfile"

  2. 运行构建计划,部署 Serverless 服务

    运行完成后,点击"输出 Endpoint"阶段,查看输出的 URL (类似:https://service-faeax9cy-1301578102.gz.apigw.tencentcs.com/release/index), 此 URL 即为 Serverless 服务对外提供服务的 URL 。记录供下一个阶段使用

至此,腾讯云 Serverless 服务已部署完成。

4.4 Kubernetes 集群部署 Validating Webhook

因为 Admission Webhook 只允许 https 协议并且需要提供证书信息,所以需要我们提前生成,代码仓库已经提供脚本,运行即可配置集群证书。

$ ./deployment/webhook-create-signed-cert.shcreating certs in tmpdir /var/folders/mt/965plkfs62v6wqx2839qthz40000gq/T/tmp.i1imELStGenerating RSA private key, 2048 bit long modulus (2 primes)...................+++++....+++++e is 65537 (0x010001)certificatesigningrequest.certificates.k8s.io/admission-webhook-example-svc.default createdNAME         AGE REQUESTOR CONDITIONadmission-webhook-example-svc.default 1s admin  Pendingcertificatesigningrequest.certificates.k8s.io/admission-webhook-example-svc.default approvedsecret/admission-webhook-example-certs configured(base)

修改 deployment/deployment.yaml 文件,将 serverlessURL 替换为上一个阶段记录下的 Endpoint(类似:https://service-faeax9cy-1301578102.gz.apigw.tencentcs.com/release/index)

证书创建成功后,部署 Deployment 和 Services

$ kubectl create -f deployment/deployment.yamldeployment.apps "admission-webhook-example-deployment" created$ kubectl create -f deployment/service.yamlservice "admission-webhook-example-svc" created

至此我们用来接收 Validating 请求的服务已经部署完成,最后配置 ValidatingWebhookConfiguration,运行以下命令:

cat ./deployment/validatingwebhook.yaml | ./deployment/webhook-patch-ca-bundle.sh > ./deployment/validatingwebhook-ca-bundle.yaml

执行完成后,可以看到 validatingwebhook-ca-bundle.yamlcaBundle 字段已经被替换。

脚本运行依赖于 jq (Shell 读取 JSON 工具),如果你还没有安装,请移步:https://www.ibm.com/developerworks/cn/linux/1612_chengg_jq/index.html

Mac 系统可以直接使用:brew install jq 进行安装。

接下来,我们为 default 命名空间打标签,因为我们的 ValidatingWebhookConfiguration 使用了 namespaceSelector 只对包含特定 labels 的命名空间做两步验证。

$ kubectl label namespace default admission-webhook-example=enablednamespace "default" labeled

最后,创建 ValidatingWebhookConfiguration

$ kubectl create -f deployment/validatingwebhook-ca-bundle.yamlvalidatingwebhookconfiguration.admissionregistration.k8s.io "validation-webhook-example-cfg" created

这样,一旦在 default 命名空间创建资源,我们部署的服务(Deployment) 将会拦截请求,并进行二次校验。

4.5 尝试两步验证

至此,我们已经成功部署了两步验证的 Demo,整体架构图现在变成了:

现在,我们可以尝试部署

$ kubectl apply -f deployment/sleep.yamlError from server (Token 错误,不允许部署): error when creating "deployment/sleep.yaml": admission webhook "required-labels.coding.net" denied the request: Token 错误,不允许部署

由于我们在创建 Serverless 服务的时候,预先向数据库配置了四组 token,分别是:1111、2222、3333、4444,所以我们可以修改 sleep.yaml ,将注解metadata.annotations.token 修改为 1111,再次尝试部署

$ kubectl apply -f deployment/sleep.yamldeployment.apps/sleep created

部署成功,如果重复使用此 token,是无法验证通过的。至此,基于 Serverless 的两步验证已经完成。

5. 源码分析

5.1 我们部署的 Deployment 做了什么

当执行 kubectl apply 之后, API Server 将请求转发到我们部署的 POD ,核心代码在项目根目录下,主要是 main.gowebhook.go

main.go 主要是启动了一个 HTTP 服务,并从命令行读取了我们创建的证书以及 Serverless Endpoint

// main.goflag.IntVar(&parameters.port, "port", 443, "Webhook server port.")flag.StringVar(&parameters.certFile, "tlsCertFile", "/etc/webhook/certs/cert.pem", "File containing the x509 Certificate for HTTPS.")flag.StringVar(&parameters.keyFile, "tlsKeyFile", "/etc/webhook/certs/key.pem", "File containing the x509 private key to --tlsCertFile.")flag.StringVar(&parameters.serverlessURL, "serverlessURL", "https://example.com", "serverless endpoint URL.")

webhook.go 主要是转发 API Server 发送的请求,我们将 validate 重新改写,将所有请求转发到 Serverless Endpoint。

// webhook.goglog.Infof("parameters.serverlessURL is %v", whsvr.parameters.serverlessURL)res, _ := Post(whsvr.parameters.serverlessURL, req)// 初始化请求变量结构jsonData := make(map[string]string)// 调用json包的解析,解析请求body_ = json.NewDecoder(res.Body).Decode(&jsonData)glog.Infof("res is %v", jsonData)allowed := falsereason := &metav1.Status{ Reason: "Token 错误,不允许部署",}if jsonData["allow"] == "true" { allowed = true}return &v1beta1.AdmissionResponse{ Allowed: allowed, Result: reason,}

POD 将请求转发到我们的 Serverless 函数之后,由它来做业务逻辑判断是否允许准入。随后,POD 将 Serverless 的结果重新格式化之后返回给 API Server。

5.2 Serverless 做了什么?

我们部署的 Serverless 服务,主要包含了四个部分:

  • API Gateway
  • 云函数
  • Postgresql
  • VPC

我们使用 CODING DevOps 在腾讯云部署了以上几个 Serverless 服务,Jenkinsfile 核心代码:

stage('部署 Serverless 服务') { steps { withCredentials([string(credentialsId:"b68948cb-2ad9-4b67-8a49-ad7ba910ed92", variable:'tencent_serverless')]) {  sh 'echo "${tencent_serverless}" > .tmp'  sh '''  SecretId=$(cat .tmp | jq -r .SecretId)  SecretKey=$(cat .tmp | jq -r .SecretKey)  token=$(cat .tmp | jq -r .token)  AppId=$(cat .tmp | jq -r .AppId)  echo "TENCENT_SECRET_ID=${SecretId}" >> ./serverless/.env  echo "TENCENT_SECRET_KEY=${SecretKey}" >> ./serverless/.env  echo "TENCENT_APP_ID=${AppId}" >> ./serverless/.env  echo "TENCENT_TOKEN=${token}" >> ./serverless/.env   '''  sh 'cd serverless && cat .env'  sh 'cd serverless && npm run bootstrap && sls deploy --all | tee log.log'  sh 'rm ./serverless/.env' } echo '部署完成' }}stage('输出 Endpoint') { steps { sh 'cd serverless && cat log.log | grep apigw.tencentcs.com' }}

这里主要是使用临时凭据,以及使用 Serverless SDK 对预定义的 serverless.yml 进行部署。

API Gateway 负责对外提供外网访问

# ./serverless/api/serverless.yml API Gateway 部署文件events: - apigw:  name: k8sAdmission  parameters:  protocols:   - http   - https  serviceName:  description: Based on Tencent Cloud Serverless, it provides dynamic access control for K8S  environment: release  endpoints:   - path: /index   method: POST

Postgresql 负责存储预定义的 tokens

# ./serverless/db/serverless.yml 数据库部署文件org: k8sAdmissionapp: k8sAdmission-dbstage: devcomponent: postgresqlname: fullstackDBinputs: region: ${env:REGION} zone: ${env:ZONE} dBInstanceName: ${name} vpcConfig: vpcId: ${output:${stage}:${app}:serverlessVpc.vpcId} subnetId: ${output:${stage}:${app}:serverlessVpc.subnetId} extranetAccess: false

VPC 实现将云函数和 Postgresql 网络互通

# ./serverless/vpc/serverless.yml VPC部署文件org: k8sAdmissionapp: k8sAdmission-dbstage: devcomponent: vpc # (required) name of the component. In that case, it's vpc.name: serverlessVpc # (required) name of your vpc component instance.inputs: region: ${env:REGION} zone: ${env:ZONE} vpcName: serverless subnetName: serverless

云函数负责准入逻辑判断,可以看到 handler: api_service.main_handler,也就是说云函数的入口函数是 main_handler,当有外部请求过来时,将会执行 main_handler 函数

# ./serverless/api/serverless.yml 云函数部署文件org: k8sAdmissioncomponent: scf # (必填) 引用 component 的名称,当前用到的是 tencent-scf 组件name: k8s # (必填) 该组件创建的实例名称app: k8sAdmission-db # (可选) 该 SCF 应用名称stage: dev # (可选) 用于区分环境信息,默认值是 devinputs: src: ./ name: ${name} description: 基于腾讯云 Serverless 的 K8S 动态准入控制 handler: api_service.main_handler # 入口函数 runtime: Python3.6 # 云函数的运行时环境。除 Nodejs10.15 外,可选值为:Python2.7、Python3.6、Nodejs6.10、Nodejs8.9、PHP5、PHP7、Golang1、Java8。 region: ${env:REGION} vpcConfig: vpcId: ${output:${stage}:${app}:serverlessVpc.vpcId} subnetId: ${output:${stage}:${app}:serverlessVpc.subnetId} timeout: 10 environment: variables:  PG_CONNECT_STRING: ${output:${stage}:${app}:fullstackDB.private.connectionString}  PG_DN_NAME: ${output:${stage}:${app}:fullstackDB.private.dbname} events: - apigw:  name: k8sAdmission  parameters:   protocols:   - http   - https   serviceName:   description: Based on Tencent Cloud Serverless, it provides dynamic access control for K8S   environment: release   endpoints:   - path: /index    method: POST

云函数关键代码

我们将在首次触发(请求)时创建 TOKENS 表,并将 4 组预定义的 tokens 插入到表内。并检查我们在执行 kubectl apply yaml 文件 annotations(注解) 内携带的 tokens 是否合法,并将 token 和 Postgresql 数据库存储的 token 进行比对。

# ./serverless/api/api_service.py 云函数业务逻辑def main_handler(event,content): logger.info('start main_handler') logger.info('got event{}'.format(event)) logger.info('got content{}'.format(content)) # 连接数据库 print('Start Serverlsess DB SDK function') conn = psycopg2.connect(DB_HOST) print("Opened database successfully") cur = conn.cursor() cur.execute('''CREATE TABLE IF NOT EXISTS TOKENS   (ID INT PRIMARY KEY  NOT NULL,   tokens TEXT NOT NULL);''') conn.commit() cur.execute("select * from TOKENS") myresult = cur.fetchall() for row in myresult:  print("ID = " + str(row[0]))  print("tokens = " + row[1]) if not bool(cur.rowcount):  print("insert default tokens")  cur.execute("INSERT INTO TOKENS (ID,tokens) \   VALUES (1, '1111')")  cur.execute("INSERT INTO TOKENS (ID,tokens) \   VALUES (2, '2222')")  cur.execute("INSERT INTO TOKENS (ID,tokens) \   VALUES (3, '3333')")  cur.execute("INSERT INTO TOKENS (ID,tokens) \   VALUES (4, '4444')")  conn.commit() json_dict = json.loads(event["body"]) if json_dict["object"]["metadata"]["annotations"]["token"] == "":  return {"errorCode":0,"errorMsg":"","allow":"false"} cur.execute("SELECT * FROM TOKENS where tokens=%s",[json_dict["object"]["metadata"]["annotations"]["token"]]) myresult = cur.fetchall() allow = "false" if len(myresult) > 0:  allow = "true"  query_id = myresult[0][0]  cur.execute("DELETE FROM TOKENS where ID=%s",[query_id])  conn.commit() conn.close() return {"errorCode":0,"errorMsg":json_dict["object"]["metadata"]["annotations"]["token"],"allow":allow}

如果 token 在数据库内存在,则从数据库删除本次使用的 token,并返回 JSON 给我们在集群内部署的POD

{"errorCode":0,"errorMsg":"tokens","allow":"true"}

POD 根据 Serverless 返回的结果重新组装信息,返回如下 JSON 给 Kubernetes API Server

{ "UID":"b24ab5f7-8b6b-4ea2-83ff-6f9834a9937e", "Allowed":false, "Result":{  "ListMeta":{   "SelfLink":"",   "ResourceVersion":"",   "Continue":""  },  "Status":"",  "Message":"",  "Reason":"Token 错误,不允许部署",  "Details":"",  "Code":0 }, "Patch":"", "PatchType":""}

其中,Allowed 字段为本次 kubectl apply 是否准入关键,Reason 信息将作为结果展示。

这里可能有同学会问,为啥要通过我们部署的 POD 再调用 Serverless 服务?让 API Server 直接请求 Serverless Endpoint 不行吗?答案是不行的,因为 API Server 请求的 webhook URL 要求双向 TLS 验证,我们需要创建 Kubernetes CA 签名的 TLS 证书,确保 Webhook 和 Api Server 之间通信的安全,所以我们采用这种方式来实现。

6. 结束语

至此,我们实现了简单的 Kubernetes 两步验证。如果想实现更多的逻辑,比如判断 image 合规性、对于来源于非公司内部仓库的镜像拒绝部署,都可以在 Serverless 云函数内实现。

在生产实践中,如本例的 token,属于动态的 yaml 制品类型部署,我们可以结合 CODING 持续部署来为制品文件提供动态的参数绑定。

如果想要实现对 Deployment 动态注入 sidecar,可以利用 Mutating Webhook 监听部署的 Deployment,将需要注入的 sidecar 动态 Patch 注入。

如果想要实现集群级的 imagePullSecrets ,一个可行的思路是利用 Mutating Webhook 监听创建 namespaces 行为,自动将已存在的 imagePullSecrets Patch 到新的 namespaces 内。

实现 Mutating Webhook ,请留意项目根目录的 webhook.go 文件的 mutate 函数,原理与 Validating Webhook 类似,不同点在于其主要通过 Patch 来实现。

Kubernetes admission 通过 Webhook 的方式解耦了 kubectl 的过程,使得我们自己的业务逻辑能够动态加入到用户执行 kubectl 到返回结果的过程当中,本文的两步验证只是一个简单的 Demo,想要更加深入了解,可以浏览"参考资料"的链接。

7. 参考资料

  • In-depth introduction to Kubernetes admission webhooks
  • 可扩展 Admission 进入 Beta 阶段
  • 动态准入控制
  • Tencent Serverless
  • 本项目 Fork 的源码
Kubernetes 两步验证贝恩投资公司shopyy洋老板第四季度"霸主"会是它?玩具选品错过悔一年!英欧谈判前景难料,多国为"无协议脱欧"做准备!亚马逊惊现天价口罩!搜索量狂飙17000%!珠海旅游景点大全珠海旅游景点大全珠海旅游景点大全

傻傻分不清楚?亚马逊透明计划、零计划、Brand Gating大合集!

傻傻分不清楚?亚马逊透明计划、零计划、Brand Gating大合集!

最近,亚马逊宣布成立全球打假团队,专门负责打击违反法律法规和亚马逊商城规则、在亚马逊上销售假冒商品的售假者,并将其诉诸法律。

可见,亚马逊在打击假冒伪劣商品上一直很努力,今天,我们就来对比一下亚马逊的那些有效防跟卖的方法。

透明计划(Transparency Program)

防跟卖原理:

已注册透明计划的卖家产品,亚马逊会提供唯一的二维码,卖家将代码贴在商品包装上,商品入仓时,亚马逊识别代码,确认为正品后才可入仓。FBA跟卖者无法得到代码,货物无法进入亚马逊仓库销售,自发货跟卖时也会被要求提供代码认证。

目的:

1、向品牌提供主动的防伪保护

2、使消费者可以验证产品真伪

3、给消费者提供透明的商品信息

入驻要求:

1、首先必须是Brand owner(品牌所有者)。

2、成功进行品牌备案2.0,就是在亚马逊上品牌备案成功的商标要求是R标。

费用:

主要是二维码的购买费用:

一次性购买数量<100万个,则0.05美元/个;

100万个<一次性购买数量<1000万个,则0.03美元/个;

·一次性购买数量>1000万个,则0.01美元/个。

零计划(Amazon Project Zero)

防跟卖原理:

为每个产品生成一个独特的代码,品牌商可以将代码打印到现有的包装上,或者使用标签附加到产品包装上,在这些产品进入亚马逊仓库时,亚马逊就可以扫描这些代码,以确定其真实性。

目的:

快速赶走跟卖

入驻要求:

1、成为商标的权利所有者。

2、拥有一个可以访问品牌注册中心的亚马逊帐户。

3、在过去六个月中提交了潜在侵权报告,接受率为至少90%。

费用:

删除假冒伪劣商品列表的功能是免费的,但亚马逊为每个产品分配的独特代码的价格大约在1到5美分之间,这具体取决于产品的数量。

Amazon Brand Gating

防跟卖原理:

对于已经成功过审Brand Gating的产品,如果卖家想要跟卖,则需要提供制造商的发票,并获得品牌的书面授权,还要求他们为每个品牌支付1500美元。个人卖家也可以申请Brand Gating,而且没有要求卖家必须进行品牌备案,这个是可选,但是有了品牌备案对于申请Brand gating更有利。

目的:

对销售比较好的大品牌进行保护,是保护卖家listing免受侵权(跟卖)的最有效方式。

入驻要求:

个人卖家也可以申请Brand Gating,而且没有要求卖家必须进行品牌备案,这个是可选的,但是有了品牌备案对于申请Brand gating更有利。

费用:

每个品牌支付1500美元


原创/跨境知道 Vivian 萧

个人二维码.png


查看原文:https://www.ikjzd.com/home/124648
yiqu:http://www.ikjzd.com/w/210
勤商网:http://www.ikjzd.com/w/2219
拍怕网:http://www.ikjzd.com/w/2205
傻傻分不清楚?亚马逊透明计划、零计划、Brand Gating大合集!
亚马逊,透明计划,零计划,Brand Gating

LACOSTE X ATMOS全新限定联名系列

LACOSTE X ATMOS全新限定联名系列

释放不尽的跳脱与活力,是专属于年轻人的街头感夏日主题。法国运动休闲时尚品牌LACOSTE与亚洲潮流风向标品牌ATMOS在新一季的开端携手创新,颠覆性地诠释街头网球风格。而作为两大品牌的首个联名系列,LACOSTE X ATMOS将日本街头时尚注入LACOSTE深入人心的网球DNA,不仅融入经典大胆的图案设计,更利用极具辨识度的醒目荧光色线条打造出独有动感街网风格。限定联名系列单品包括运动鞋、卫衣、T恤和POLO衫,以独特荧色街头网球为故事主线,加入了日本街头不羁的时尚基因,动感潮流兼备,辨识度极高,简单却无处不在探索着街潮和法式运动休闲风相结合的精髓。

作为全世界sneaker爱好者的朝圣必去之地,ATMOS于2000年在东京「里原宿」(Ura-Harajuku)后街开设了第一家店铺。作为当地首家把球鞋和潮流时尚联系在一起的精品球鞋集合店铺,这些年来ATMOS不仅时常会联手合作品牌推出限量联名系列,同时还发售原创运动鞋及服饰系列。作为一个圈内玩家的据点,ATMOS逐渐延伸覆盖至整个日本,此外还在美国纽约、韩国、泰国、中国台湾等各个潮流聚集地运营门店。如果说日本街头风格极大的影响了当代时尚,那么ATMOS绝对是这段历史中推波助澜的掌舵者。

在ATMOS主理人Hidefumi Hommyo看来,球鞋的设计需要突出故事性,有完整概念支撑,才能和消费者产生共鸣。因此,ATMOS不仅以鲜明的风格为本次与LACOSTE联名打上了自己的烙印;还融合"街头网球风"新理念,讲述了一个探索无"荧"的未来感故事。而联名LOGO则以荧光色鳄鱼召唤ATMOS对话框,搞怪又极富联名趣味。

LACOSTE X ATMOS全新限定联名系列

在LACOSTE X ATMOS限定联名系列中,以 LACOSTE 1988年推出的网球复刻鞋款Balsa为主打款单品,汲取经典设计的同时,颠覆性地赋予了Balsa全新鞋身——采用亮眼的荧光色网球绒面材料作为鞋面,致敬品牌网球特色;鞋带上挂有塑制方形质感标签,注明本鞋款可适应硬网球场地。鞋舌外缝位置的LACOSTE X ATMOS标签更搭配里衬平铺纹样元素共同呈现,增添联名惊喜。此外,这款主打限定运动鞋配有双色鞋带:荧光色鞋带/经典绿色花纹点缀的柱状编制鞋带。彩虹色鞋孔、鞋侧吸睛大LOGO及双色鞋带设计相得益彰,传递出自由随性的街头态度。

LACOSTE X ATMOS全新限定联名系列

联名款设计LOGO集思巧妙,运用变色的荧光色鳄鱼召唤出ATMOS的对话气泡框,这一灵感均来自日本街头,透着一股随性和趣味,为整个系列画龙点睛。而值得潮流收藏家们尖叫的是,为庆祝这次史无前例的联名,ATMOS与日本家喻户晓的MEDICOM品牌合作推出了一款全新的荧光色Be@rbrick积木熊玩具。这套玩具包含100%及400%尺寸,特别选用网球绒面材质制作,既呼应了联名Balsa鞋款,更再次点明了LACOSTE X ATMOS限定联名系列的"街网"主题。

LACOSTE X ATMOS全新限定联名系列 LACOSTE X ATMOS全新限定联名系列

以简单的形式承接肆意想象力,是日式与法式时尚的要义所在。本次联名系列大片由LACOSTE亚太区代言人黄子韬及日本模特MATCHA个性演绎,探索无"荧"未来,表现敢动敢闯的潮流新锐态度。联名款上衣有白色长袖卫衣、黑白短袖T恤和黑白短袖POLO衫三种,均为街潮和网球服饰的代表款式。

LACOSTE X ATMOS全新限定联名系列 LACOSTE X ATMOS全新限定联名系列

全新LACOSTE X ATMOS联名系列将于7.3日起,正式在LACOSTE品牌微信小程序、LACOSTE线下精选门店、FOSS微信小程序及部分精选店铺、ATMOS亚洲区部分指定店铺、UNIK上海及成都指定店铺发售。

LACOSTE X ATMOS全新限定联名系列DMM一淘比价网e邮包如何通过亚马逊-SKU商品排序来提高店铺转化率完美优化Listing的4个技巧缅甸:东南亚电商最后的处女地公主邮轮私人定制旅游公主邮轮私人定制旅游公主邮轮旅游跟团多少钱

一文看懂亚马逊日本站METI备案

一文看懂亚马逊日本站METI备案

一、申请背景

METI备案是日本经济产业省规定,可理解为出口到日本需要日本当地商社公司做担保注册你的产品制造信息。

PSE认证是日本强制性安全认证,分为圆形、菱形两种。我们常见的低压、电池等产品做菱形即可。

目前出关没有强制性做METI要求,只有亚马逊日本站强制要求商家需提供METI备案+PSE认证。亚马逊日本站凡是未提供的商家产品通通下架。

二、亚马逊日本站上架、抽查下架的原文(已翻译中文需要提供的资料)

1)电气用品制造业务申报书或电气用品进口业务申报书的复印件(请出示经济产业省的收讫印章及形式的分类表)

编辑

4619.png

2)(在额定铭牌上)显示与向经济产业省申报的经营者名称不同的名称(简称)时,作为(经济产业省)批准时的依据

编辑

3)额定铭牌照片(带PSE标志的地方)的照片(可读取PSE符号、申报经营者名称、认证机构名称、额定电压等)

4620.png

注意:需要逐个ASIN提交

注意外包装照片和样品照片不合格。请提交商品本体上显示的PSE标志的照片。

4)(涉及电气用品安全法)自主检查记录(成品)

三、提交资料总结

4621.png

1、有效PSE认证证书(如没有炜烨检测可协助申请)

样品2测试+申请公司英文信息、周期1周

2、日本进口商社信息(如没有炜烨检测协助提供)

METI备案1周,所以PSE+METI约2-3周申请周期

四、METI备案常见问题

1、 正式备案文件仅提供电子档,所有元件保存在日本进口商手中,亚马逊有什么问题是联系他,而不是工厂。

2、 产品配有适配器等其他配套设备销售,需确认是整机申请还是除配套设备外的机器申请,以免拿到备案文件后亚马逊提出问题(此问题可和亚马逊客服确认或申请METI备案客人确认)

3、 产品标签和备案申请方要求与备案的进口商名称一致

产品铭牌上的进口商与备案进口商不一样,或者最终销售方和备案文书上面的公司名不一致的,亚马逊会提出索取"拿货发票"以进一步证明,该卖家是确实找此供应商拿货。

4、 如果客人自行提供备案商(日本当地进口商),原件将直接寄到客户的备案商公司。

客户提供日本进口商需要资料:提供日本注册公司信息营业执照,联系人,电话,收件地址。


查看原文:https://www.ikjzd.com/home/124574
cares:http://www.ikjzd.com/w/1302
terapeak:http://www.ikjzd.com/w/556
outfit:http://www.ikjzd.com/w/938
一文看懂亚马逊日本站METI备案
类目审核

TikTok全球下载超20亿,它火了!排名上涨6000%

TikTok全球下载超20亿,它火了!排名上涨6000%

说到现在全球最火的APP,无疑是 TikTok !

据外媒报道,社交视频应用TikTok在appStore和谷歌Play上的下载量已经超过了20亿次。在2020年第一季度,它创造了一个季度内所有应用程序下载量的最高纪录,appStore和谷歌Play的下载量累计超过3.15亿次。

4593.png

全球疫情的发生也让直播营销达到巅峰,直播聊天,直播卖货,直播授课等等...TikTok的最新一波热潮正是在全球COVID-19大流行期间发生的。

于是这款带手机支架的环形补光灯,

迅速成了热卖品。

4594.png

作用:直播时打开光圈,可以让人的颜值瞬间上升。带可调节角度的手机支架,三脚架设置,可以摆放在地上或者桌面,几乎是直播大军人手必备的神器!

风口下迅速蹿红

在亚马逊Cell Phones & Accessories大类飙升榜中,排名靠前就有多款环形补光灯,有的款式上升指数一度超过6000%。

4595.png

看到这么火热的市场机会,不少卖家表示想入市。但是越火爆的产品,越要谨慎其背后危险!现在市场上的环形灯款式多种,哪些直播环形灯具有侵权危机呢,我们也来帮大家来检索一番!

下面这款,拥有中国外观专利,

曾经在国内发起过侵权起诉!

4596.png 

(有做国内市场的卖家注意规避下)

其他环形灯的专利检索如下:

产品一:美国外观专利,2020年6月授权。刚授权不久!

4597.png

产品二:美国外观专利,2020年3月授权。

4598.png

产品三:美国外观专利,2020年6月授权。

4599.png

产品四:欧盟外观专利,2018年11月授权。

4600.png

产品五:欧盟外观专利,2019年5月授权。

4601.png

产品六:欧盟外观专利,2019年5月授权。

4602.png

产品七:欧盟外观专利,2019年5月授权。

4603.png

产品八:欧盟外观专利,2019年5月授权。

4604.png

产品九:欧盟外观专利,2019年5月授权。

4605.png

以上就是本期关于环形补光灯的检索情况,准备入市的卖家注意了,看看你手中的产品是否跟已经拥有外观专利的产品相同或高度相似,谨防上架了侵权产品。有具体产品疑问的卖家也可以发给我们进行免费查询。

疫情期间爆品横生,敏锐洞察市场,找准产品机会是关键。另一方面,也要重视产品的品牌化建设,目前亚马逊及其他各大平台的打假政策日益升级,销售假货容易遭遇关店危机,建议卖家们及时为自己的产品注册商标专利,进一步规避侵权危机。


来源:亚易知识产权集团

查看原文:https://www.ikjzd.com/home/124585
1号店网:http://www.ikjzd.com/w/2263
c88:http://www.ikjzd.com/w/1017
feedly:http://www.ikjzd.com/w/754
TikTok全球下载超20亿,它火了!排名上涨6000%
Tiktok,排名

子宫二度脱垂能恢复吗

作为女性可能会遇到各种尴尬的时候,尤其是到了怀孕生产阶段,在怀孕期间要承受体形变化,还要接受妊娠纹,在产后除了体能、体型发生变化之外,就连生殖器官也会有异常,比如胎儿出生后很多女性会出现子宫脱垂的问题,不仅不舒服还很尴尬,严重时可能坐也不是站也不是。那么子宫二度脱垂能恢复吗?要如何恢复?

子宫二度脱垂能恢复吗

子宫二度脱垂能恢复吗custommade邓白氏集团vincentTradeindia亚马逊无货源跨境电商是否适合现在的年轻人去创业?干货分享:如何高效玩转速卖通!北京游 旅行团北京游 旅行团去北京游怎么省钱

正在崛起的亚马逊加拿大站,30天销量猛增3倍!

正在崛起的亚马逊加拿大站,30天销量猛增3倍!

再过2天(7月1日)就是加拿大的建国日,自从5月份亚马逊恢复入仓以来,大家会发现自己的销量在稳步提升。

而在亚马逊十多个全球站点中,加拿大站点的销量可以用"爆棚式增长"来形容!

加拿大成为大亚马逊市场

亚马逊是加拿大规模最大、发展最快的在线零售商之一,亚马逊加拿大站每月吸引近一千六百万的不重复访客, 总浏览时间达 5.05 亿分钟。

亚马逊加拿大站一直以来给中国卖家的感觉就像这个国家给全球人的印象一样,用一个也许不恰当的词来形容就是"鸡肋"。

因为疫情爆发之前,加拿大站的销量大概只有美国的1/6,并落后于德国、英国、日本、法国销量,但却大于意大利、西班牙、澳洲、印度站点。

然而,让所有人始料不及的是,这次灾难式的新冠疫情却让加拿大的销量大增。

在加拿大有FBA库存的卖家会发现,许多商品销量在过去2个月中几乎增长了2-3倍,有些品类的销量几乎接近美国站。

虽然亚马逊没有提供官方数据,但是从5月至今,加拿大已经成为亚马逊所有站点中订单量增长第一,销量排名第二的站点。

加拿大站点销量大涨的原因

加拿大国土面积也许略比美国大一点,但是人口只有3800万,其中90%的人口全部居住在美加边境。

与此同时,由于加拿大的物业、物流、人工、税收成本远高于美国,因此同样的商品在美国的价格基本是加拿大的1/3-1/4。

所以,绝大多数加拿大人,都有每周到美国购买食品和生活必需品和给汽车加油的习惯。

由于加拿大并没有自己成熟的在线市场,所以加拿大人在购买"非生活必需品"。

如:电子产品、时尚、户外等消费类产品时,都会通过加拿大的线下实体店,以及美国的在线市场进行购买。

由于绝大多数美国商家不愿意发货到加拿大,因此绝大多数加拿大人都会在边境线美国一端租用一个邮箱用于接受在线采购的商品。

所以,在疫情爆发前,加拿大人在线购物的习惯不强,而且即使购物都会首选美国站点。

然而,疫情却改变了一切,首先加拿大政府几乎把所有商业行为暂停了将近2个月,而现在进入线下商店购物,往往需要排队很久,因为每个店铺根据大小只允许有限的人数进入。

在此情况下,几乎所有人每天在家只能上网购物,可是美加边境从3月21开始进行了关闭,并在近期把关闭时间继续延长到了7月21日,这已经是第2次延长封关时间,并不知道之后还需要延长多久。

而这导致了几乎绝大部分美国的商品无法发送到加拿大,正在发送的商品也需要到边境禁令解除才能投递。

亚马逊在恢复入仓和发货时效后,正好可以满足此时的客户消费需求,所以大家会看到加拿大站销量快速增长!

关于加拿大站的建议

账号布局:和美国一样,也是先上一个,手头上多准备几套资料(都是北美站,和美国站的资料共享的),随时准备开通账号 。

类目选择:可适当放宽多几个小类目,确保货源的情况下,可以选择偶尔跳个不同的大类目 。

选品策略:大而美,不能太小啊,可选择热销产品,因为高手都在美国站厮杀,没空搭理加拿大站

LISTING:新账号可一次上1-3个,双胞胎也能养的白白胖胖,运营需求没美国站高,也可以理解为同行竞争没那么激烈 。

两个忠告:

第一:就别考虑FBM自发货了,地广人稀,存在偏远地区,运费贵,时效又不可控,也就是你的后台绩效指标不可控 。

第二:强烈建议注册商标,做品牌备案,加拿大商标注册的品牌有效期15年,R标证书下来要一年多接近两年,费用也比较高。


查看原文:https://www.ikjzd.com/home/124576
feedback:http://www.ikjzd.com/w/159
首信易支付:http://www.ikjzd.com/w/1841
浩方:http://www.ikjzd.com/w/1046
正在崛起的亚马逊加拿大站,30天销量猛增3倍!
运营技巧

如何快速减肚子上赘肉

如何快速减肚子上赘肉?每一个女性都想拥有前凸后翘的身材,而如果身体某个部位的赘肉太多,无疑会影响到整体的美观,比如肚子上赘肉太多,大腹偏偏不仅是会影响外在美观,而且还会影响身体健康,那么,如何快速减肚子上赘肉呢?带着疑问,我们一起来看下面的介绍。

如何快速减肚子上赘肉

一、快速减肚子上赘肉运动方法:

1、交错腿的垂直运动。在进行怎么锻炼腹部赘肉时,要注意让自己的脸朝上躺在地上,然后再让双腿交叉放在地上,手抱头。这时再让双腿向上抬起,从而直至垂直于地面,需要注意的是也要让自己的头部也跟着往上抬起。在最高点停顿并呼吸一次,再重复以上介绍的锻炼。

2、腹肌板运动。腹肌板运动时,首先要让自己的双手握着腹肌板的手柄,而且锻炼者要注意让自己的身体尽量往前伸直,这时再以腹肌的力量把身体收回来腹肌板运动可以让腹部得到很好的伸展

3、仰卧起坐运动。仰卧起坐运动也是一项不错的瘦小肚子运动,如果想达到减去腹部赘肉的目的,但是要注意仰卧起坐要循序渐进,否则会引起肌肉酸疼。

二、快速减肚子上赘肉的饮食方法:

如何快速减肚子上赘肉周宁自贸区跨境通网站斑马物流日出200+单的爆款产品,为什么不建议你去跟卖?跨境小包如何打造精品专线?专线小包前景如何?亚马逊差评回复电邮模板北京旅游要多少钱2018北京旅游跟团多少钱北京旅游跟团多少钱

“买家才是亚马逊‘亲爹’”!频频钱货两空,卖家霸气索赔超5000元

钱货两空!这是多数卖家最不愿看到的结局。可即便到了2020年,仅仅围绕买家换货又退款、收款未退货这两大消费场景,还是让不少卖家栽了跟头。亚马逊卖家张军立(化名)便是其中的"受害者"之一,半年时间他多次遭遇不良买家,骗钱骗货,累积利润折损高达上万元。

糟心!30天退货政策延长到90天,卖家频频钱货两失

张军立自述,他于2019年初转做亚马逊,今年以来受国内外疫情及亚马逊FBA停止非必要商品入库的影响,好几度现金流近乎断裂。原计划在FBA陆续恢复后一展身手,不曾想亚马逊退货政策调整,又让他陷入了退货危机。

4月初,亚马逊美国站发布临时延长退货期限调整,30天退货政策延长到90天。公告指出:对于在亚马逊美国站上所下的订单,在2020年3月1日至2020年4月30日期间配送的大部分商品现在可在2020年5月31日之前退回;且无论卖家使用FBA还是FBM配送产品,都要遵守亚马逊的退货政策。

延长退货期限后不久,张军立便遭遇了危机:"主要的威胁有两种:第一种个别不良买家利用平台退换货政策的漏洞,申请换货的同时又申请了退款,或在人为损坏的基础上以旧换新,使我们遭遇产品损失;另外一种情况,买家申请退款,收到货款后规定时间内未将产品退回FBA仓库,使我们钱货两空。"

张军立坦言:"初步估计来看,不管是不良买家的恶意欺诈,还是系统人工操作的误差,我们的累计损失可能达到上万元。当然,因为项目核算力度很大,我们暂时无法人工计算损失的具体数值。"

"顾客至上"的担忧与庆幸

亚马逊频繁更新且着重倾向于买家的退换货政策,一直以来都饱受卖家的诟病,"顾客至上"的服务准则也让部分卖家心痛不已。曾有卖家哭诉道:"换货又退款、收款未退货……到头来才真正发现,买家才是亚马逊的'亲爹'卖家啥也不是!"

了解发现,原来卖家掏空心思应付各式奇葩退换货理由的同时,还得自掏腰包承担不良买家骗钱骗货所造成的损失。当然,退换货政策给卖家造成的困扰不止于此。疫情期间甚至日常运营过程中,卖家还经常面临着买家退款超额、退换货产品丢失等漏洞。除此之外,亚马逊卖家在入库、出库、派件等多个场景下,还可能会遇到产品入库交接数量出错、货件体积重量出错、货件受损、包裹丢失等几十种折损卖家利润的情况发生。

不过值得庆幸的是,针对FBA操作失误或者其他不可抗力因素所导致的货品丢失或损坏,亚马逊也对应出台了FBA丢失和残损库存报销政策(FBA Lost and Damaged Inventory Reimbursement Policy),卖家可对应政策章程进行申诉和索赔。

在综合考虑人工操作出错率高、效率低、退款金额少等因素,不少亿级大卖果断选择软件工具进行智能索赔。日积月累,积少成多,个别大卖多年的索赔退款更是达到了十几万元人民币。

与张军立的遭遇相似,2019年11月卖家Kevin也遇到了同样的问题,不过借助退款管家Refundlabs的帮助,他不仅成功驳回了买家的无理由申诉,还在退款管家精准先进、自动化申诉的帮助下,与卖家支持据理力争,成功要求亚马逊进行了依法赔偿。最终亚马逊退还给卖家的赔偿金额达到了近5000元。

索赔申诉过程如下


(案例图示/退款管家协助卖家依法申诉)

对于卖家支持给出的无理回复,退款管家进行了专业的据理力争强烈要求亚马逊依法赔偿。

(案例图示/退款管家指出拒绝理由不合理)

退款管家通过专业、自动化的申诉流程协助卖家,判断得出亚马逊卖家支持给出的模式化回复的拒绝理由不正当,卖家可做进一步赔偿申诉。

(案例图示/退款管家坚持为卖家申诉)

针对这种情况,退款管家重新开启了新的索赔case,并提供了更精确的材料证明,坚持为卖家进行合法申诉。

(案例图示/退款管家成功申诉)

最终,退款管家成功协助卖家完成了申诉索赔,帮助卖家节约了近5000元的成本支出,极大提高了卖家全年的净利润。

拒绝利润缩水,退款管家与你守望相助


(文/ 钟云莲)

【特别声明】未经许可同意,任何个人或组织不得复制、转载、或以其他方式使用本网站内容。转载请联系:editor@cifnews.com

"买家才是亚马逊'亲爹'"!频频钱货两空,卖家霸气索赔超5000元二类电商孙琦小马哥除了圣诞节,12月还有这些大卖热点可以蹭!9大全球保健品品牌备战天猫国际618卖家注意!几乎全部航空公司将取消中国的航班!<清远一日游>清远青龙峡漂流+飞来湖公园-纯玩团报价<清远一日游>清远黄腾峡勇士漂流+观光探险+山水乐园报价<清远一日游>清远黄腾峡勇士漂流+观光探险+山水乐园报价

美国FBA仓库爆仓,卖家该怎么应对?

由于家居用品、自行车等类目出现销量暴增和美国疫情加剧的情况,卖家疯狂补货,亚马逊仓库人手一直十分紧缺,这让本就效率低下的仓库更加雪上加霜,所以才导致很多货物接收后迟迟无法上架的情况发生。

美国Amazon近况

据了解,上架慢的仓库有ONT8、CLT2、FTW1、SMF3、SDF8、CHA2、MDW2、IND9、LAX9等,其中遭卖家吐槽最多的是FTW1、ONT8、Clt2这几个仓库。其中, FTW1仓还被称为"死亡仓库"。

由于没有足够的工人卸货,现在大部分热门仓库预约困难,就算拿到了预约时间也有可能被亚马逊往后推迟,目前LAX9、ONT8、PHX7、FTW1这些仓库已经爆满,有些人拿到FTW1的预约甚至已经放到了8月份。

亚马逊分配仓库?

众所周知,亚马逊的仓库是亚马逊自动分配的,不提供给卖家选择。那么亚马逊是怎么分配的?我们来看下亚马逊的解释。

亚马逊分仓是依据仓库的设施条件、气温、湿度等因素、以及卖家的产品类型,将各类型的产品分到最适合的FBA仓里,以达到合理利用仓储、防止库存出现爆满或空置的两极分化的情况。

现在亚马逊FBA美国ONT8/FTW1/CLT2等200多个仓库。那么我们如何去避免现在上架慢的ONT8、CLT2、FTW1、SMF3、SDF8、CHA2、MDW2、IND9、LAX9仓库,如何去避免FTW1"死亡仓库"呢?

卖家如何应对?

ONT8、CLT2、FTW1、SMF3、SDF8、CHA2、MDW2、IND9、LAX9上架时效如此缓慢,我们的第一反应都是想尽一切办法去避免这些仓库?

这边我就总结几种应对措施,供大家参考,希望能帮助到大家。

1. 改发货地址。这是我们之前为了去蹭(ONT8、FTW1、CLT2)网红仓库的办法。把发货地址改为与你想要仓库较近的地址,可能亚马逊系统就会分配你想要的仓库。

2. 反复删除货件,重新建货件,出现自己满意的仓库为止。删除货件过多会有副作用,很大可能会影响仓库绩效。不建议多次尝试。

3. 可发大货件冷门仓库。大货件我们出的较少,如果是新品可以把产品尺寸填成大货件尺寸,然后货物就会入到大货件仓库,那必然不是"死亡仓库"。

4. 有海外仓资源的卖家,可以尝试将货物先发往海外仓,等FBA仓库恢复正常上架速度后,再将海外仓的货调至FBA。

最后,总结一下,尽量避开这些上架慢的仓库,选一些稍冷门,用的人较少的仓库,美西仓库上架普遍比美东仓库比较慢,可尝试分仓去美东。如果时间实在拖得太久,货物超14天没有上架,提供货代给的签收单等证据,后台开case。

(来源:AMZ跨境不求人

以上内容属作者个人观点,不代表立场!本文经原作者授权转载,转载需经原作者授权同意。

美国FBA仓库爆仓,卖家该怎么应对?google correlate聚贸tineye跨境电商火爆来袭?亚马逊创始人荣登世界首富,亚马逊无货源真的是大蓝海吗?Selz亚马逊无货源店群的核心在哪里?深圳游组团深圳旅游费用多少深圳旅游费用多少

“少白头”的痛苦,主要来源这3点!对症下药,才好得快

27岁的晓静是少白头,从17岁开始,头上就长出了白发,晓静很在意自己的少年白,于是几乎每个月都要染一次黑发,来掩盖自己新长出的白发。一开始,她会去理发店染发,后来觉得开销太大,就自己随便买了染发膏自己染,就这样连着染了10年。2018年9月份,晓静突然开始感到头昏、乏力、还会咳嗽、咳痰,一个月高烧2次。

家人带她去医院,一查血小板每微升70多万,正常人是每微升10-30万,而且晓静还有严重的贫血问题,再进一步检查,结果显示,晓静得了急性白血病,而罪魁祸首正是她坚持了十年的染发习惯!

染发竟然也会致癌?

虽然平常也总说染发致癌,但有很多人会反驳说,染发致癌只是一个传言,并没有明确的科学依据证明染发和癌症的关系有多大。染发致癌是真实存在的吗?

美国国立卫生研究院曾经将一项有关于染发致癌的研究发表在了《国际癌症杂志》上,样本容量为来自美国各地的35到74岁之间的46709位女性,其入组门槛为有一个患乳腺癌的姐妹,但本身并不患癌,研究人员对这些对象展开了长达8年的研究调查。

研究结果显示,定期使用永久性染发剂的人群比不使用的人群患乳腺癌的风险高9%,每5到8周就使用一次永久性染发剂的患乳腺癌的风险会高出30%。

美国癌症学会对500名美发师进行了调查研究,他们患肿瘤的风险比普通人高出6倍,国际上也确认染发剂的使用和白血病的患病率有一定的联系。

事实证明,染发和致癌是有相关性的。当然,染发只是增高了致癌的风险,癌症的发病原因是非常复杂的,并不是染发一定会致癌,其致癌风险也和接触量和接触时间有关。

展开来说,染发剂中的危险主要来自于其中的多种化学物质。目前理发店普遍使用的是永久性染发剂,染发剂中用来固色的对苯二胺是公认的致癌物,美国国家癌症研究所表示染发剂中的芳香胺等化学物质具有诱变性,其中的染料成分2,4-二氨基苯甲醚硫酸盐和对苯二胺都有致癌性,这些化学物质如果长时间积蓄在人体内,会使人体体内的正常细胞容易癌变。

有些染发剂中还添加了国家明令禁止添加的邻氨基苯酚和间苯二胺,所以选择染发剂时要注意,尽量选择成分相对安全的染发剂。

做到3点,安全放心染发

既然染发无法割舍,那么如何挑选染发剂就非常重要了。在挑选染发剂品牌的时候,最好挑选正规品牌,通过正规渠道购买。很多不正规的商品或假冒伪劣产品因为逃过了监管,会肆意添加对人体有害的物质。

宣传快速染发、一洗黑、不脏衣服、纯天然的都不要买。目前市面上的永久性染发剂没有完全纯天然的,2019年的时候国家食药监局曾披露过不少不合格的染发产品,其中很多染发剂查出了国家禁止添加的间苯二酚等成分,而且并未在成分表上标明,这些染发剂很多都打着植物染发剂的名号,比如韩金靓、章华等品牌。


由于很多染发剂中有易过敏成分,所以在使用之前要先在耳后做过敏测试,确定没有过敏后再进行正常使用。

癌症的发病原因复杂,不能用单一因素衡量,染发剂中的确含有很多致癌物,但会不会致癌,和接触时间、接触的量以及接触频率都有关系。建议一年染发次数不要超过两次,过敏体质、哮喘、孕妇等人群最好不要使用染发剂。

爱美的前提是健康,既然选择了染发,那么就要选择比较好的染发剂,避免劣质染发剂给我们带来更多的伤害。

缓解少白头,还需对症下药

少年白的人把头发染黑,只治标不治本,最重要的还是对症下药。如果是先天性少白头,一般是遗传因素。后天性的少白头一般认为是精神压力,亦或是患有疾病为主要病因。

土耳其有项研究,对1192名18-20岁大学生志愿者展开了调查,发现其中有377名志愿者是少白头,约占总人数的32%,这些少白头志愿者中,有素食偏好的人占了第一位,其次才是过敏史和家族史。研究结果说明素食导致的营养不良才是少白头的主要病因。

针对缺少蛋白质、严重营养不良、缺乏微量元素引起的少白头,则需要补充营养,普通人平常的膳食应该荤素搭配,建议不要只吃纯素食的食物,很容易缺乏多种肉类里才含量比较多的营养素,纯肉食也会导致营养不良。

除了营养不良,过度的精神压力、焦虑或严重的心理创伤都可能使白发在短期内迅速增加,这方面需要放松心情、保持心情愉悦、注意劳逸结合。患有甲亢、内分泌障碍、肺结核等疾病会阻碍黑色素的形成,患有这些疾病的人需要先治疗疾病。

平时也可以多吃一些黑豆、黑芝麻之类的食物,不仅营养,对乌发也有效果。也有说何首乌可以乌发的,但是毕竟是药材最好不要随便使用,想吃何首乌或其他中药乌发的要让正规医生开具处方,到正规药店购买药材。

虽然染发不一定致癌,但是一定会对头发有损伤,有20%的接触性皮炎是由染发剂引起的,染发剂给头发直接造成的危害就是头发分叉、干枯易断,还有脱发。所以,染发剂还是少用为好。

参考资料:

"少白头"的痛苦,主要来源这3点!对症下药,才好得快gem拍拍网商标抢注越域网Google 自建站SEO技术初级课程第七期:高效低成本的SEO方法-破损Backlinks修复500多个意大利品牌入驻天猫国际,销售势头强劲内蒙古呼和浩特旅游组团8月山西五台山旅游8月山西五台山旅游