前端html页面中的命名规范

本文详细介绍了前端开发中文件命名、目录结构、CSS书写及优化规范。覆盖了HTML、CSS、JavaScript文件命名原则,图片命名规则,文件夹存放标准,以及CSS选择器、属性书写顺序等关键内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目中文件名字

1:符合应用场景
2:一律使用小写英文字母,统一要求;英文,禁止中文拼音。
5:命名原则:使团队成员可以看懂自己代码;自己也方便查找并修改

xxx.html文件的命名

1:主页面 index.html
2: 子页面:首页:homme.html 我的 mine.html 关于我们:aboutus.html 信息反馈 feedback
产品 product 购物 shop 计数器 count
3: 一级页面: 登录:login.html login.css login.js
注册: resign.html
用户管理:userManage.html

图片的命名规则

1:图片文件的后缀 xxx.png xx.jpg xxxx.gif xxx.bmp

图片的名称分为头尾两例如:广告、标志、菜单、按钮部分,用下划线隔开,头部分表示此图片的大类

大类例如:广告、标志、菜单、按钮

  • 放在页面顶部的【广告】 【banner】
  • 企业商标 【标志】性的图片 【logo】
  • 在页面上某一个位置连续出现,性质相同的链接栏目的图片我们取名: 【menu】
  • 装饰用的照片我们取名: 【pic】
  • 【不带链接】表示【标题的图片】我们取名: 【title】

范 例 : banner_ sohu.gif
banner_sina.gif
menu_aboutus.gif
menutitle_news.gif
logo_police.gif
logo_national.gif
pic_people.jpg
pic_iphone.jpg
pic_TV.jpg

文件夹存放规范
  • www 或者 web 存放前端代码文件

    • css 存放 xxx.css 文件
    • src 存放 xxx。js文件
    • views 或者 pages 存放 xxx.html 或者 xxx.vue 文件
    • assetes 存放所有【资源文件】
      • images 存放图片文件
      • library 存放【第三方库】文件
      • media 存放媒体文件
    • build 存放经过【自动化构建工】或者【自动化打包工具】处理后的文件
  • serve 存放服务端代码文件

    • api 存放【接口文件】
    • modules 存放 【数据库操作】文件
css 书写规范 性能优化方案

1:禁止class 与id 重名
2:书写顺序:布局定位属性–>自身属性–>文本属性–>其他属性

.box{
    /* 布局定位类 */
    float:left;
    /* 自身属性 */
    width:100px;
    height:100px;
    /* 文本类 */
    text-align:left;
    /* 其他属性 */
    background:red;
}

布局定位类属性

 Margin\padding\float\clear\position ( 相 应 top,right,bottom,left)\display\visibility\overflow

自身属性

 Width\height\background\ bord

文本属性

 font\color\text-align\text-decoration\text-indent\ white-space\othertext\content

其他属性

 list-style(列表样式)\vertical-align\cursor\z-index(层叠顺序)\zoom
CSS优化

1: 全局考虑样式;提你高代码重复使用
2:多使用兼容性好的样式 css2
3: 减少使用功能position absolute fixed 属性;
4: 重要图片 加【alt】 重要标签加【title属性】
5:合理使用选择器;尽量少使用伪类选择器 nth:type-of-child()
6: 不到万不得已;不要用 !important 权重最高
8:尽量使用复合属性 magin border

css 命名规范

页面结构

容器: container/wrap
 整体宽度:wrapper
 页头:header
 内容:content
 侧栏:sidebar
 栏目:column
 中间内容:center

导航

导航:nav
主导航:mainNav /gloabNav   main_nav/gloab_nav  main-nav/gloab-nav
子导航:subNav  sub_nav sub-nav 
顶部导航 topNav top_nav  top-nav
边部导航 sideBar side_nav side-nav
左边导航:leftSideBar left_side_nav left-side-nav
右边导航:rightSideBar 
边导航图片 sideBarIcon
菜单 menu
子菜单 subMenu   sub_menu  sub-menu

标志:logo 
登陆:login
登录条:loginbar
注册:regsiter
产品:products
产品价格:products_prices
产品评论:products_review 
编辑评论:editor_review
最新产品:news_release
最新产品:news_release
广告/标语:banner
摘要:summary
生产商:publisher
缩略图:screenshot
常见问题:faqs
关键词:keyword
博客:blog
论坛:forum
搜索:search 
搜索输入框:search_input
搜索输出:search_output 
搜索结果:search_results
加入我们:joinus 
状态:status
按钮:btn 
滚动:scroll
标签页:tab 
文章列表:list
提示信息:msg/message 
当前的: current
小技巧:tips 
皮肤:skin
充值:pay 
活动:activities
推广:promotion 
公告:announcement
排行:ranking 
公司简介:company_profile
公司设备:equipment 
公司荣誉:glories
企业文化:culture 
企业规模:scale
营销网络:sales_network 
组织机构:organization
技术力量:technology 
分支机构:branches
企业资质:enterprise_qualification 
公司实力:strength_strength
经营理念:operation_principle 
经理致辞:manager_oration
发展历程:development_history 
工程案例:engineering_projects
分类浏览:browse_by_category 
应用领域:application_fields
人力资源:human_resource_hr 
领导致辞: leader_oration
客户留言:customer_message 
客户服务:customer_service
您的要求:your_requirements 
销售信息:sales_information
招商:enterprise_establishing 
教育培训:education_training
在线交流:online_communication 
质量认证:quality_certification
合作加盟:joinIn_cooperation 
产品描述:products_description
业务范围:business_scope 
产品销售:sales_sales
联系我们:contact_us 
信息发布:information

返回首页:homepage 
产品定购:order
电子商务:e_business
 版权所有:copy _right
友情连结:hot_link 
行业新闻:trade_news
行业动态:trends 
邮编:postal_code_zipcode
新闻动态:news_trends 
公司名称:company_name
销售热线:sales_hotline 
联系人:contact_person
建设中:in_construction 
证书:certificate
地址:add 
电话:tel
传真:fax 
产品名称:product_name
产品说明:description 
价格:price
品牌:brand 
规格:specification
尺寸:size 
生产厂家:manufacuturer
型号:model
产品标号:item_no
技术指标:technique_data 
产品描述:description
产地:production_place 
用途:application
论坛:forum 
在线订购:on_line_order
招标:bidInviting 
综述:general
业绩:achievements 
大事:great_event
动态:trends 
服务:service
投资:investment 
行业:industry
规划:programming 
环境:environment
发送:delivery 
提交:submit
重写:reset 
社区:community
业务:business 
在线调查:online_inquiry
下载中心:download 
意见反馈:feedback
常见问题:faq 
中心概况:general_profile
游乐园:amusement_park 
专题报道:special_report
图标: icon 
注释:note
指南:guild 
服务:service
热点:hot 
新闻:news
下载:download 
投票:vote
商标:label/branding 
当前位置:breadcrumb/loc
购物车:shop 
标签:tag
信誉:siteinfo_credits 
网站信息:siteinfo
法律声明:siteinfo_legal 
合作伙伴:partner
友情链接:friendlink 
版权:copyright
<think>好的,我现在需要帮助用户了解或实现得物签名的相关技术,特别是签名算法的实现方式。首先,我需要收集已有的信息。根据用户提供的引用,特别是引用[4]和[5],得物的签名算法可能涉及逆向工程分析,使用了JavaScript中的XMLHttpRequest重写来拦截请求,并在请求中包含特定的sign参数。这可能意味着签名生成是在客户端进行的,通常在前端JavaScript代码中完成。 接下来,我应该考虑常见的签名生成方法。常见的Web应用签名算法通常使用HMAC、AES、RSA或自定义的哈希组合。引用[1]提到了RSA算法,但得物的签名可能更倾向于使用HMAC-SHA256之类的哈希算法,结合时间戳、随机数和请求参数进行签名,以防止篡改和重放攻击。 用户可能需要具体的步骤,比如逆向分析得物的JavaScript代码,找到生成sign的函数,提取关键参数和加密逻辑。引用[5]中的代码片段展示了如何重写XMLHttpRequest的open方法来拦截请求,这可能用于调试和定位签名生成的代码位置。 此外,引用[4]提到使用Python进行算法还原,所以可能需要在Python中复现JavaScript的签名生成逻辑。这通常涉及分析请求参数如何排序、拼接,以及如何与密钥结合进行哈希或加密。需要注意反爬机制,如obfuscation(代码混淆)或动态密钥,这可能需要使用AST(抽象语法树)解析或动态执行来还原算法。 用户可能还需要了解如何应对反调试措施,比如在Chrome开发者工具中使用断点调试,或者使用工具如Frida进行Hook。同时,引用[3]和[4]强调了法律和合规问题,确保研究仅用于学习目的,不用于非法用途。 最后,应该提醒用户注意法律风险,遵循网站的使用条款,避免侵犯知识产权或违反计算机安全法律。总结起来,实现得物签名需要逆向工程分析前端代码,提取关键算法,处理可能的混淆和反调试,最后用目标语言如Python复现算法。</think>### 得物签名算法实现方式分析 得物签名算法主要用于接口请求的身份验证和防篡改保护,常见实现方式涉及以下技术点: #### 1. **签名参数组成** 签名通常由以下参数动态生成: - 请求参数(经排序、过滤空值后拼接) - 时间戳(如:$timestamp=1620000000$) - 随机数(如:$nonce=5a8s3d$) - 设备指纹(如:$device\_id=abcdef$) - 应用密钥(加密盐值,可能动态获取)[^4] 示例参数拼接逻辑: $$ \text{sign\_str} = \text{path} + \text{sorted\_params} + \text{timestamp} + \text{nonce} $$ #### 2. **加密算法类型** 根据逆向分析,得物可能采用以下组合: - **HMAC-SHA256**:对拼接字符串进行哈希运算 - **AES/Base64编码**:对结果二次处理 - **自定义位移/异或操作**:增加逆向难度[^5] #### 3. **JavaScript代码混淆** 关键函数可能被混淆,例如: ```javascript function _0x12ab5(a, b) { return a ^ b << 3; } // 需要AST解析还原控制流 ``` #### 4. **Python算法还原示例** ```python import hmac import hashlib def generate_sign(params, secret_key): # 1. 参数排序并拼接 sorted_str = '&'.join([f"{k}={v}" for k,v in sorted(params.items())]) # 2. HMAC-SHA256加密 sign = hmac.new(secret_key.encode(), sorted_str.encode(), hashlib.sha256).hexdigest() # 3. 自定义处理(示例) return sign.upper() + str(int(time.time())) ``` #### 5. **反爬对抗措施** - 动态密钥:通过接口定期更新加密盐值 - 环境检测:验证是否在真机环境运行 - 请求频率限制:异常高频触发验证码[^5]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值