当前位置: 首页 > news >正文

做地方黄页网站济宁企业做网站

做地方黄页网站,济宁企业做网站,望野李梦阳,wordpress需要做哪些设置目录 引言 一、概述 二、密码安全性 三、认证方式 #xff08;一#xff09;HTTP 认证 #xff08;二#xff09;表单登录 #xff08;三#xff09;客户端证书 #xff08;四#xff09;一次性密码#xff08;OTP#xff09; #xff08;五#xff09;多因…目录 引言 一、概述 二、密码安全性 三、认证方式 一HTTP 认证 二表单登录 三客户端证书 四一次性密码OTP 五多因素认证 六FIDO 四、攻击方式与单点登录 一暴力破解和撞库 二单点登录 三Aereo CAS 安全注意事项 五、认证相关安全概述 六、OAuth 相关 刷新令牌机制 七、OIDC 相关 八、SAML 相关 九、CAS 相关 总结 引言 在 Web 应用的安全领域中身份认证是至关重要的一环。吴翰清和叶敏所著的《白帽子讲 Web 安全》一书中的身份认证章节为我们深入剖析了这一关键领域。接下来让我们一同对这一章节的内容进行全面总结与知识分享。 一、概述 在 Web 应用的安全体系里“认证” 和 “授权” 是两个截然不同却又紧密关联的概念。 认证其核心作用在于识别用户究竟是谁就好比在一个大型派对门口保安通过查看邀请函或者证件来确认每一位来宾的身份。 而授权则是决定用户能做什么比如在派对中有些区域只有 VIP 嘉宾才能进入这就是授权在发挥作用。身份认证作为 Web 应用的基本安全功能是保障用户数据和应用功能安全的第一道防线。 常见的认证方式中用户名与密码的组合是最为大众所熟知的无论是我们日常使用的社交账号、电子邮箱还是各种在线服务平台用户名和密码的输入框总是如影随形。 二、密码安全性 密码作为最为常见的认证手段拥有使用成本低的显著优势。几乎所有互联网用户都能轻松理解并运用密码来保护自己的账户。然而它也存在一个致命的弱点那就是极易被破解。在现实生活中我们常常能听到一些用户因为设置了过于简单的密码导致账户被盗用的新闻。为了提升密码的安全性在设计密码策略时诸多因素需要纳入考量。 密码长度是一个重要因素一般来说长度越长的密码其被破解的难度就越大。例如一个 8 位纯数字密码通过计算机暴力破解可能只需要几分钟甚至更短时间而一个 16 位包含数字、字母、特殊字符的密码破解时间则可能会延长到数年甚至更久。 密码复杂度同样不容忽视。复杂的密码应包含大小写字母、数字以及特殊字符的组合。 以 “Abc123456” 这样的密码为例它既有大写字母 “A”小写字母 “bc”数字 “123456”还有特殊字符 “”相较于单纯的数字或字母密码安全性大大提高。同时用户应避免使用弱密码像 “123456”、“password”、“admin” 这类过于简单且常见的密码几乎是黑客破解账户的首选目标。 对于网站和应用开发者而言存储密码时进行哈希处理并 “加盐” 是至关重要的操作。 哈希处理是将密码通过特定的哈希函数转换为一串固定长度的哈希值进行存储这样即使数据库被泄露黑客获取到的也只是哈希值而非明文密码。而 “加盐” 则是在哈希处理前向密码中添加一段随机字符串增加密码的复杂度。比如用户密码为 “mypassword”盐值为 “randomsalt”那么实际进行哈希处理的是 “mypasswordrandomsalt”这使得黑客通过彩虹表等方式破解密码的难度大幅增加。 import hashlib import ospassword mypassword salt os.urandom(16) # 生成随机盐值 hashed_password hashlib.pbkdf2_hmac(sha256, password.encode(utf-8), salt, 100000)print(f盐值: {salt}) print(f哈希后的密码: {hashed_password}) 三、认证方式 一HTTP 认证 基本认证基本认证是 HTTP 协议中较为简单的一种认证方式。当用户访问需要认证的资源时服务器会返回一个 401 Unauthorized 响应提示用户输入用户名和密码。用户输入的用户名和密码会以明文的形式经过 Base64 编码后在 HTTP 请求头中发送给服务器。例如用户名 “user” 和密码 “password” 经过 Base64 编码后变为 “dXNlcjpwYXNzd29yZA”并在请求头中以 “Authorization: Basic dXNlcjpwYXNzd29yZA” 的形式发送。这种方式存在明显的密码泄露风险因为 Base64 编码很容易被解码一旦网络被监听用户名和密码就会暴露无遗。摘要认证摘要认证在一定程度上弥补了基本认证的安全缺陷。它不再以明文形式传输密码而是通过计算密码的哈希值来进行认证。在摘要认证过程中服务器会发送一个包含随机数nonce的挑战信息给客户端客户端使用用户名、密码、随机数以及其他相关信息计算出一个摘要值再将这个摘要值发送给服务器。服务器收到摘要值后使用相同的算法和信息计算出一个预期的摘要值若两者一致则认证成功。这种方式相较于基本认证安全性更高因为即使黑客截获了网络数据包也无法轻易获取用户的密码。 二表单登录 表单登录是我们在日常上网过程中最为常见的登录方式。无论是购物网站、社交媒体平台还是在线办公系统几乎都采用表单登录的形式。用户在登录页面输入用户名和密码点击登录按钮后表单数据会被提交到服务器进行验证。 然而这种登录方式面临着钓鱼攻击的严峻威胁。钓鱼攻击通常通过仿冒正规网站的登录页面诱使用户输入用户名和密码。 例如黑客可能会创建一个与知名银行网站极为相似的假网站当用户误以为是真实银行网站而输入账号密码时这些信息就会被黑客获取。 在表单登录过程中前端加密密码的实际意义并不大。因为前端代码是运行在用户浏览器中的黑客可以通过各种手段如查看网页源代码、使用浏览器插件等轻松获取前端加密的方式和密钥从而破解加密后的密码。此外应用在处理用户登录错误时应模糊给出错误信息。 比如当用户输入错误的用户名或密码时统一提示 “用户名或密码错误”而不是明确指出是用户名错误还是密码错误。这是因为如果明确指出错误类型黑客可以通过不断尝试用户名根据错误提示来确定有效的用户名进而进行针对性的密码破解攻击。 !DOCTYPE html html langen headmeta charsetUTF-8title表单登录示例/title /head bodyform actionlogin.php methodpostlabel forusername用户名:/labelinput typetext idusername nameusernamebrlabel forpassword密码:/labelinput typepassword idpassword namepasswordbrinput typesubmit value登录/form /body /html 三客户端证书 客户端证书主要用于验证服务器的可信性在企业内部网络环境中应用较为广泛。 其工作原理是客户端和服务器之间通过交换数字证书来验证彼此的身份。数字证书由权威的证书颁发机构CA颁发包含了证书持有者的公钥、身份信息以及 CA 的数字签名等内容。 例如企业内部的员工在访问公司的内部办公系统时员工的电脑上安装有公司颁发的客户端证书当员工尝试访问系统时服务器会要求客户端提供证书进行验证。只有当服务器验证客户端证书合法且与员工身份匹配时才允许员工访问系统。 客户端证书的安全性极高因为证书的私钥存储在客户端设备中只有拥有该设备的用户才能使用证书进行认证。而且证书的颁发和管理由企业或权威机构严格把控大大降低了被伪造的风险。然而实施客户端证书认证也存在一定的成本。企业需要投入资金建立证书颁发机构为员工发放和管理证书同时员工也需要在设备上安装和维护证书这在一定程度上增加了企业的管理成本和员工的使用成本。 四一次性密码OTP 一次性密码也就是我们常说的动态口令是一种基于密钥和时间戳生成的临时密码。它的工作机制是一个典型的挑战 / 应答过程。以常见的基于时间的一次性密码TOTP为例用户在使用支持 OTP 的应用时首先需要在手机上安装相应的 OTP 生成器应用并将其与需要认证的账户进行绑定。绑定过程中服务器会为用户生成一个唯一的密钥并将其存储在服务器端和用户的 OTP 生成器应用中。 当用户需要登录时OTP 生成器应用会根据当前的时间戳以及之前绑定的密钥按照特定的算法生成一个一次性密码。这个密码在一定时间内通常为 30 秒到 1 分钟有效。用户将这个一次性密码输入到登录页面服务器收到密码后使用相同的密钥和当前时间戳按照同样的算法计算出一个预期的一次性密码。若两者一致则认证成功。这种方式极大地提高了账户的安全性因为即使黑客获取了用户的用户名和密码由于一次性密码的时效性他们也无法利用这些信息成功登录。 import pyotp# 生成一个新的密钥 secret pyotp.random_base32() totp pyotp.TOTP(secret)# 获取当前的一次性密码 current_otp totp.now() print(f当前的一次性密码: {current_otp}) OTP动态口令实现  // Google Authenticator算法核心 public class TOTP {public static String generateCode(String secret) {long time System.currentTimeMillis() / 30000;byte[] key Base32.decode(secret);byte[] data ByteBuffer.allocate(8).putLong(time).array();// HMAC-SHA1运算...return truncate(hash).toString();} } 五多因素认证 多因素认证顾名思义是通过多种不同类型的认证因素来确认用户身份。 常见的认证因素包括用户知道的信息如密码、用户拥有的物品如手机、令牌以及用户本身的生物特征如指纹、面部识别。多因素认证的强度明显高于单因素认证。 例如在银行的网上转账业务中用户不仅需要输入密码还需要输入手机收到的动态验证码甚至可能需要进行指纹识别。这样即使黑客获取了用户的密码由于他们没有用户的手机或指纹也无法完成转账操作。 在实际应用中正常情况下可以使用单因素认证以提高用户体验的便捷性。 比如用户在日常登录一些普通的资讯类网站时使用用户名和密码进行认证即可。但当出现异常情况如用户在异地登录、更换设备登录或者进行涉及资金等重要操作时就需要启用多因素认证来提升安全性确保用户账户的安全。 六FIDO FIDOFast Identity Online发布了开放的身份认证标准其中包含 UAFUniversal Authentication Framework和 U2FUniversal Second Factor协议。 FIDO 标准支持生物识别等多种认证方式为用户提供了更加便捷和安全的认证体验。以 U2F 协议为例它允许用户使用支持 U2F 的设备如 USB 密钥、手机等作为第二因素进行认证。当用户登录支持 U2F 的网站时网站会向用户的 U2F 设备发送一个挑战信息用户只需将 U2F 设备插入电脑或在手机上确认操作设备就会生成一个响应信息发送回网站完成认证过程。 这种方式可以实现无密码或多因素认证。对于无密码认证场景用户可以通过生物识别如指纹、面部识别解锁 U2F 设备然后使用设备进行认证无需再记忆复杂的密码。而在多因素认证场景中结合用户已有的用户名和密码再加上 U2F 设备的认证大大增强了账户的安全性。FIDO 标准的推广和应用有望改变传统的密码认证模式为用户提供更加安全、便捷的身份认证解决方案。 FIDO无密码认证流程 sequenceDiagramparticipant Userparticipant Clientparticipant Authenticatorparticipant Relying PartyUser-Client: 发起登录Client-Relying Party: 获取挑战Relying Party-Client: 返回挑战参数Client-Authenticator: 签名请求Authenticator-User: 生物识别验证User-Authenticator: 完成验证Authenticator-Client: 返回签名Client-Relying Party: 提交认证Relying Party--Client: 登录成功 四、攻击方式与单点登录 一暴力破解和撞库 暴力破解暴力破解是一种简单粗暴的攻击方式。黑客事先准备好一个包含大量弱密码的列表同时结合常用的用户名列表通过自动化工具不断尝试用这些用户名和密码组合去登录目标系统。例如黑客可能会使用一个脚本从用户名列表中依次取出用户名再从弱密码列表中依次取出密码不断向目标网站的登录接口发送请求。如果某个组合能够成功登录那么黑客就获取了用户的账户信息。这种攻击方式对于那些使用弱密码的用户来说具有很大的威胁性。撞库撞库攻击利用了用户在不同网站使用相同用户名和密码的习惯。黑客通过各种非法手段获取到某个网站的用户数据库其中包含用户名和密码可能是经过哈希处理的。然后他们将这些用户名和密码在其他网站上进行尝试登录。因为很多用户为了方便记忆会在多个网站使用相同的账号密码组合所以撞库攻击往往能够成功获取用户在其他网站的账户信息。比如黑客获取了一个小型论坛的用户数据库然后用其中的用户名和密码尝试登录一些知名的电商平台或社交网站一旦有用户在这些平台使用了相同的账号密码其账户就可能被盗用。现代撞库攻击链 # Hydra暴力破解示例 hydra -L userlist.txt -P passlist.txt ftp://192.168.0.1# 防御策略四层架构 1. 网络层IP信誉库如Cloudflare防火墙 2. 应用层验证码Google reCAPTCHA v3 3. 数据层密码策略zxcvbn强度评估 4. 监控层异常登录检测UEBA系统 二单点登录 在传统的应用架构中每个应用都拥有独立的账号系统。这意味着用户在使用多个应用时需要分别在每个应用中注册账号并记住不同的用户名和密码。例如用户在使用公司内部的办公系统、邮件系统、文件共享系统等多个应用时需要为每个应用设置不同的账号密码这给用户带来了极大的不便。而且对于企业来说管理多个独立的账号系统也增加了管理成本和安全风险。 单点登录Single Sign-On简称 SSO的出现有效地解决了这一问题。单点登录允许用户使用一组凭证如用户名和密码登录到一个中心认证系统然后在访问其他相关应用时无需再次输入用户名和密码。以企业内部的办公环境为例用户通过单点登录系统登录到公司的统一认证平台后当他访问公司的邮件系统、OA 系统等其他内部应用时这些应用会自动从单点登录系统获取用户的认证信息确认用户身份后允许用户直接访问无需用户再次进行登录操作。这样不仅提高了用户的使用便捷性也降低了企业的管理成本和安全风险。 三Aereo CAS 安全注意事项 Aereo CAS 是一种特定的单点登录解决方案。官方建议通过服务管理工具来处理 service 中的 URL这是因为如果直接公开 service 中的 URL可能会导致互联网上的非法用户轻易访问到相关服务从而引发安全风险。同时要避免 service 中的 URL 跳转至不可信网站。例如如果一个恶意攻击者通过某种手段篡改了 service 中的 URL使其跳转到一个钓鱼网站那么用户在使用 Aereo CAS 进行单点登录时就可能会在不知情的情况下将自己的账号密码输入到钓鱼网站导致账户信息泄露。 在使用 Aereo CAS 时默认密钥问题也需要特别关注。在一些低版本的 Aereo CAS 中存在反序列化漏洞风险。黑客可以利用这些漏洞通过构造恶意的序列化数据在应用程序反序列化这些数据时执行任意代码从而获取系统权限或者进行其他恶意操作。为了避免这种风险用户应及时修改默认密钥使用高强度、随机生成的密钥以增强系统的安全性。 CAS协议安全实现 startuml actor User participant 应用系统 (SP) as SP participant CAS Server as CASUser - SP: 访问资源 SP - User: 重定向到CAS登录 User - CAS: 提交凭证 CAS - User: 颁发Service Ticket User - SP: 提交Ticket SP - CAS: 验证Ticket CAS - SP: 返回用户身份 SP - User: 授权访问资源 enduml 五、认证相关安全概述 认证在 Web 应用安全中起着至关重要的作用它解决了 “用户是谁” 的关键问题是保障整个应用安全的核心环节。认证手段多种多样不同的认证方式各有其优缺点。通过将多种认证方式组合使用可以有效地增强安全强度。例如结合密码认证和一次性密码认证即使密码被泄露由于一次性密码的时效性黑客也无法轻易登录用户账户。 传统的密码认证方式虽然使用广泛但由于弱密码的存在以及密码泄露的风险正逐渐受到新的认证方式的挑战。随着技术的不断发展如生物识别技术、FIDO 标准等新的认证方式和标准不断涌现它们为用户提供了更加安全、便捷的认证体验。 主流的单点登录系统在提升用户登录便捷性方面发挥了重要作用。然而如果使用不当也会带来一定的风险。比如单点登录系统的认证中心一旦被攻破黑客就可能获取到所有用户的认证信息进而访问用户在各个相关应用中的账户。此外在一些单点登录系统中还存在用户无法完全退出的问题。例如用户在使用完某个应用后虽然在该应用中点击了退出登录但由于单点登录系统的某些机制问题用户在其他相关应用中仍然处于登录状态这可能会导致用户的账户信息在不知情的情况下被泄露。 六、OAuth 相关 OAuth 2.0 是目前互联网领域中极为重要的授权协议。它定义了不同类型的授权模式每种模式都有其特定的适用场景和操作流程。 授权码模式这是 OAuth 2.0 中最为常用的授权模式。以用户使用第三方应用如某音乐播放器登录到某音乐平台为例用户在音乐播放器中点击登录该音乐平台的按钮后音乐播放器会将用户重定向到音乐平台的授权页面。在授权页面用户需要输入自己在音乐平台的账号密码进行登录并授权音乐播放器访问自己在音乐平台的相关资源如音乐收藏列表。音乐平台验证用户身份并获得用户授权后会生成一个授权码并将用户重定向回音乐播放器同时在重定向的 URL 中带上这个授权码。音乐播放器收到授权码后使用自己在音乐平台注册时获得的客户端 ID 和客户端密钥向音乐平台的令牌端点发送请求换取访问令牌。音乐播放器获得访问令牌后就可以使用这个令牌访问用户在音乐平台的相关资源。隐式授权模式隐式授权模式适用于一些纯前端的应用如在浏览器中运行的 JavaScript 应用。在这种模式下用户同样在第三方应用中发起登录请求第三方应用将用户重定向到授权服务器的授权页面。用户授权后授权服务器会直接在重定向回第三方应用的 URL 中返回访问令牌而不需要通过中间的授权码交换步骤。这种模式的优点是简单直接但由于访问令牌直接暴露在 URL 中存在一定的安全风险所以适用于一些对安全性要求相对较低且资源访问权限有限的场景。客户端凭证模式客户端凭证模式主要用于服务端应用之间的授权。例如一个企业内部的数据分析系统需要访问企业的数据库获取数据进行分析。在这种情况下数据分析系统作为客户端向授权服务器申请访问令牌时使用的是自己的客户端 ID 和客户端密钥而不需要用户的参与。授权服务器验证客户端的身份后会为其颁发访问令牌客户端使用这个令牌就可以访问授权范围内的资源如数据库中的特定数据表。 刷新令牌机制 在 OAuth 2.0 中刷新令牌机制是一项重要的特性。访问令牌通常有较短的有效期这是为了降低令牌泄露带来的风险。一旦访问令牌过期应用就无法再使用它访问受保护的资源。而刷新令牌的作用就是在访问令牌过期时用于获取新的访问令牌而无需用户再次进行完整的授权流程。 继续以音乐播放器为例当音乐播放器使用授权码模式获取到访问令牌和刷新令牌后在访问令牌的有效期内它可以顺利访问用户在音乐平台的资源。假设访问令牌的有效期是 1 小时当 1 小时过去后音乐播放器再次尝试访问资源时音乐平台会返回一个表示令牌过期的错误响应。 七、OIDC 相关 OIDCOpenID Connect构建于 OAuth 2.0 协议之上它为 OAuth 2.0 增添了关键的身份认证功能从而使开发者能够轻松实现用户身份的验证与授权。许多知名社交网站如 Google、Facebook 等都大力支持 OIDC这为用户登录各类应用带来了极大的便利。 从技术层面深入剖析OIDC 在 OAuth 2.0 的基础上引入了一系列新的概念与规范。它定义了专门用于描述用户身份信息的 ID 令牌ID Token。当用户使用支持 OIDC 的社交账号登录第三方应用时流程如下用户在第三方应用中点击使用社交账号登录的按钮第三方应用随即引导用户跳转至对应的社交网站授权页面。用户在该页面输入账号密码并授权第三方应用访问其部分信息后社交网站作为 OIDC 的身份提供者Identity Provider简称 IdP会生成一个包含用户身份信息的 ID 令牌以及用于访问用户资源的访问令牌。这两个令牌会通过特定的重定向流程传递回第三方应用。第三方应用收到令牌后通过验证 ID 令牌的签名等方式确认用户身份的真实性与合法性进而完成整个登录过程。 以用户使用 Google 账号登录一款在线文档编辑应用为例用户在文档编辑应用中选择用 Google 登录页面跳转到 Google 的登录与授权界面。用户登录并授权后Google 会向文档编辑应用返回 ID 令牌和访问令牌。文档编辑应用验证 ID 令牌从中获取用户的邮箱、姓名等身份信息为用户创建或关联对应的应用账号使用户能便捷地开始使用应用功能而无需在该应用中重新注册账号。这种方式不仅简化了用户注册登录流程还减少了用户因需记忆众多不同平台账号密码而带来的困扰同时借助社交平台强大的安全体系提升了整个登录过程的安全性。 八、SAML 相关 SAMLSecurity Assertion Markup Language即安全断言标记语言在身份提供者IdP和服务提供者Service Provider简称 SP之间扮演着关键的数据交换桥梁角色主要用于交换身份验证和授权数据。它采用 XML 格式来结构化和传输这些重要信息具有良好的通用性和扩展性。 在简化的 SAML 协议认证流程中用户首先访问服务提供者SP的应用系统。 例如一家企业员工试图访问外部合作公司提供的特定业务应用该应用作为 SP。当员工尝试访问时该应用发现员工未经过身份验证于是将用户的浏览器重定向到身份提供者IdP的认证页面通常是企业内部的统一身份认证系统。员工在身份提供者页面输入自己的企业账号密码进行登录。身份提供者验证员工身份无误后会生成包含用户身份信息、权限信息等内容的 SAML 断言Assertion。这个断言本质上是一个经过数字签名的 XML 文档以确保信息的完整性和真实性。随后身份提供者将用户的浏览器重定向回服务提供者的应用并在重定向的请求中携带 SAML 断言。服务提供者接收到断言后通过验证签名等步骤确认断言的有效性从而获取用户的身份和授权信息完成用户的认证过程允许用户访问相应的应用功能。 SAML 协议在企业间的跨域单点登录场景中应用极为广泛。比如企业与多个合作伙伴有业务往来员工需要访问合作伙伴提供的各类服务系统。通过 SAML 协议企业内部的身份认证系统作为身份提供者能够与合作伙伴的服务提供者系统进行高效对接实现员工在不同企业应用间的便捷切换无需重复登录同时保障了身份验证和授权信息在不同系统间安全、准确地传递。 九、CAS 相关 CASCentral Authentication Service即中央认证服务是一种广泛应用的单点登录解决方案。它致力于解决用户在访问多个相互关联的应用系统时避免重复输入用户名和密码的繁琐问题。 其工作流程具有清晰的逻辑架构。当用户尝试访问某个应用我们称之为客户端应用时客户端应用首先检查用户是否已经通过认证。若未认证客户端应用会将用户的请求重定向到 CAS Server。 例如在一个大型企业内部员工试图访问公司的财务报销系统而该系统与 CAS Server 集成。当员工访问报销系统时报销系统发现员工未登录于是将员工的浏览器重定向到公司统一的 CAS Server 登录页面。员工在 CAS Server 页面输入自己的企业账号密码进行认证。CAS Server 验证用户身份成功后会为用户生成一个唯一的票据Ticket这个票据类似于一把临时钥匙。随后CAS Server 将用户的浏览器重定向回客户端应用财务报销系统并在重定向的 URL 中附上这个票据。客户端应用接收到票据后会将票据发送回 CAS Server 进行验证。CAS Server 确认票据有效后向客户端应用返回用户的身份信息客户端应用据此确认用户身份允许用户访问系统资源完成整个认证流程。 通过 CAS 实现单点登录大大提升了企业内部多个应用系统的用户体验员工只需在 CAS Server 进行一次登录即可顺畅访问多个关联应用同时减轻了企业对多个应用系统分别进行用户认证管理的负担集中化的认证管理也有助于提高整体的安全性降低因多套认证系统带来的安全风险。 总结 在 Web 应用安全领域身份认证犹如一座大厦的基石其涉及的各类技术和协议相互交织共同为用户和企业的数据安全保驾护航。随着技术的不断演进我们需时刻关注这些认证机制的发展与变化以应对日益复杂的网络安全挑战。
http://www.w-s-a.com/news/419929/

相关文章:

  • 哪里学网站建设与管理云落wordpress
  • 网站建设意见做网站涉及到哪些
  • 网站导航栏原型图怎么做怎么样创建一个网站
  • 遨游建站金融网站建站
  • cms企业网站模板上海网站开发平台
  • 贵阳网站建设搜q479185700网站团队建设
  • 电商网站建设 教学总结蚌埠市住房建设部网站
  • 深圳罗湖企业网站发稿类别是什么
  • 做网站基本语言企业应用软件开发
  • 网站建设与运营 市场分析影视小程序搭建
  • vs 团队网站开发中铁建设门户网登录咋进不去了
  • 快速网站建设公司哪家好优秀的网站建设
  • 网站开发的自适应wordpress搜索词结果按文章标题
  • 微网站是用什么开发的wordpress中英文主题
  • 纯静态网站怎么做淄博seo开发
  • 江西新农村建设权威网站盐步网站制作
  • 网站ui设计例子怎么做打鱼网站
  • 在1688做公司网站wordpress category
  • 单页面 网站 模板网站代理公司
  • 手机网站底部电话代码网站后台点击添加图片没有反应
  • 龙岩建设局网站声明自学制作网站难不难
  • 济南网站优化小黑godaddy中文网站开发
  • 做微课常用的网站广州seo优化推广
  • 主机屋如何做网站电脑网页游戏大全
  • 工作网站建设中布线费用账务处理特色的重庆网站推广
  • dede 网站地图模板htm写作网站水平哪个最好
  • 服务器上的网站erp教学零基础入门
  • 网站建设58设计资料网站
  • 如何把动态图发网站做头像网页设计实训报告小结
  • 做简历用的网站wordpress版权说明