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

投资手机网站源码企业网站能个人备案吗

投资手机网站源码,企业网站能个人备案吗,云霄建设局网站,企业网站文章后台添加Node.js基础 概述#xff1a;简单来说Node.js就是运行在服务端的JavaScript#xff0c;Node.js是一个基于Chrome JavaScript运行时建立的一个平台 大小写变换#xff1a; toUpperCase#xff08;#xff09;#xff1a;将小写字母转为大写字母#xff0c;如果是其他字…Node.js基础 概述简单来说Node.js就是运行在服务端的JavaScriptNode.js是一个基于Chrome JavaScript运行时建立的一个平台 大小写变换 toUpperCase将小写字母转为大写字母如果是其他字母则原字符不变 toLowerCase将大写字母的字符转换成小写如果是其他字符则原字符保持不变 但有一些类似字符函数会将其当作字母字符转换 弱类型比较 数字与字符串 数字与字符串比较时会优先将纯数字型的字符串转为数字之后再进行比较而字符串与字符串比较时会将字符串的第一个字符转化为ASCLL码之后再进行比较因此就会出现“111”3)程序判断为错误的情况;而非数字型字符串与任何数字进行比较都是false 数组比较 空数组之间比较永远为false数组之间比较数组间的第一个值对第一个值采用前面总结的比较方面数组与非数值型字符串比较数组永远小于非数值型字符串数组与数值型字符串比较取第一个之后按前面总结的方法进行比较 关键字比较 nullundefined返回true nullundefined输出false NaNNaN输出false NaNNaN输出false nodejs md5的绕过 补充知识在Node.js中可以使用crypto模块来实现MD5加密功能。MD5是一种常见的哈希算法用于将任意长度的数据转换为固定长度的哈希值。在Node.js中可以通过以下步骤来生成MD5哈希值 const crypto require(crypto); function generateMD5(input) {     const hash crypto.createHash(md5);     hash.update(input);     return hash.digest(hex); } const input Hello, MD5!; const md5Hash generateMD5(input); console.log(md5Hash); 这样就可以在Node.js中使用MD5算法对数据进行加密操作。 编码绕过 用16进制编码unicode编码base64编码代替字符 命令执行 exec()child_process 模块中的 exec() 方法。这个方法用于执行 shell 命令并获取其输出。 作用有执行复杂的 shell 命令包括管道、重定向等。 处理命令执行的结果通过回调函数可以处理命令执行的结果包括标准输出、标准错误等。 eval() 函数代码执行用于执行字符串中的 JavaScript 代码并返回执行结果。它可以用来动态执行代码或计算表达式的值需要注意的是eval() 函数在 Node.js 中同样存在安全风险因为它可以执行任意代码。因此在实际开发中应该谨慎使用并避免直接执行来自不受信任来源的代码。 例如eval“document.cookie”)执行document.cookie 文件读写 writeFileSync() require(ls).writeFileSync(input.txt,sss); 解释代码 require(ls)这行代码导入了ls模块。 writeFileSync(input.txt,sss)这行代码调用了ls模块中的writeFileSync方法传入了两个参数 第一个参数是文件路径 input.txt指定了要写入数据的文件。 第二个参数是字符串sss即要写入文件的数据。 补充知识 writeFileSync方法是一个同步操作它会阻塞代码的执行直到写入操作完成。 如果你想在一个Node.js应用程序中使用这段代码你需要确保ls模块已经安装在你的项目中。 writeFile() require(fs).writeFile(input.txt,test,(err){}) 解释代码 require(fs)这行代码导入了Node.js内置的fs模块用于文件操作。 writeFile(input.txt,test,(err){})这行代码调用了fs模块中的writeFile方法传入了三个参数 第一个参数是文件路径 input.txt指定了要写入数据的文件。 第二个参数是字符串test即要写入文件的数据。 第三个参数是一个回调函数(err){}用于处理写入操作完成后的回调逻辑。在这个例子中回调函数为空即不做任何处理。 补充知识writeFile方法是一个异步操作它会将数据写入文件并在完成后调用回调函数。如果写入过程中出现错误错误信息会通过回调函数的err参数传递。 readFileSync() require(fs).readFile(/etc/passwd,utf-8,(err,data)){ if(err)throw err; console.log(data); }); 解释代码 readFileSync(): 这个函数同步地读取文件的内容即在读取完成之前会阻塞程序的执行。 require(fs).readFile(/etc/passwd, utf-8, (err, data) { ... });: 这行代码使用 Node.js 内置的 fs 模块来读取 /etc/passwd 文件的内容。它使用了 readFile 函数来异步地读取文件第一个参数是要读取的文件路径第二个参数是文件的编码格式第三个参数是一个回调函数用于处理读取文件时可能出现的错误和读取到的数据。 (err, data) { ... }: 这是一个回调函数用于处理读取文件时可能出现的错误和读取到的数据。如果读取文件出现错误err 参数将会被赋值为错误信息如果读取成功data 参数将会包含文件的内容。 if (err) throw err;: 这行代码用于检查是否有错误发生如果有错误发生则抛出该错误。 console.log(data);: 这行代码用于将读取到的文件内容输出到控制台 readFile() require(fs).readFile(/etc/passwd,utf-8), 与上述函数只有回调函数不同 原型链污染 概述原型链污染是一种针对JavaScript运行时的注入攻击。通过原型链污染攻击者可能控制对像的默认值。这允许攻击者篡改应用程序的逻辑还可能导致拒绝服务或者在极端情况下远程代码执行  prototype原型 在JavaScript中每个对象都有一个原型prototype它是对象的基础用于继承属性和方法。当你创建一个对象时这个对象会自动拥有一个指向其原型的引用。 你可以使用 Object.getPrototypeOf() 方法来访问对象的原型也可以通过 __proto__ 属性来访问对象的原型。 创建对象  let obj {}; 补充知识 继承 // 父类超类 function Animal(name) {   this.name name; } Animal.prototype.walk function() {   console.log(this.name is walking.); }; // 子类派生类 function Dog(name, breed) {   Animal.call(this, name); // 调用父类构造函数   this.breed breed; } // 使用原型链继承 Dog.prototype Object.create(Animal.prototype); Dog.prototype.constructor Dog; Dog.prototype.bark function() {   console.log(this.name is barking.); }; // 创建实例并调用方法 var myDog new Dog(Buddy, Labrador); myDog.walk(); // 输出Buddy is walking. myDog.bark(); // 输出Buddy is barking. 原型链污染演示 可以发现修改了son的原型属性之后会影响到另外一个具有相同原型的对象不难看出我们是通过设置了__proto__的值来影响原型的属性 运行代码发现没有被污染这是因为我们用JavaScript创建o2的过程(leto2{a:1,proto:{b:2}})中_proto 已经代表o2的原型了此时遍历o2的所有键名你拿到的是[a,b]proto 并不是一个key自然也不会修改Object的原型。 可见新建的o3对象也存在b属性说明Object已经被污染这是因为JSON解析的情况下--proto__会被认为是一个真正的“键名”而不代表“原型”所以在遍历o2的时候会存在这个键。 merge操作时最常见可能控制键名的操作也最能被原型链攻击很多常见的库都存在这个问题 补充知识merge函数的作用是将两个对象合并成一个新的对象通常是将一个对象的属性复制到另一个对象中。在合并过程中如果两个对象有相同的属性通常会使用后者source对象的属性值覆盖前者target对象的属性值。 具体来说merge函数通常会遍历source对象的所有属性将每个属性复制到target对象中。如果两个对象有相同的属性merge函数会使用source对象的属性值覆盖target对象的属性值。最终merge函数会返回一个新的对象其中包含了两个对象合并后的属性。 merge函数在前端开发和后端开发中经常被使用用于合并配置对象、处理数据等场景。然而在使用merge函数时需要注意处理重复属性的情况避免出现意外的覆盖行为或安全问题如原型链污染等。 举例假设有一个merge函数用于将两个对象合并 function merge(target, source) { for (let key in source) { if (source.hasOwnProperty(key)) { target[key] source[key]; } } return target; } 然后有一个用于加载用户配置的函数 function loadUserConfig(config) { const defaultConfig { isAdmin: false }; const mergedConfig merge(defaultConfig, config); return mergedConfig; } 攻击者可以构造一个恶意的用户配置对象将__proto__属性设置为一个包含恶意代码的对象 const maliciousPayload { __proto__: { isAdmin: true } }; 调用loadUserConfig函数并传入恶意的用户配置对象 const userConfig loadUserConfig(maliciousPayload); 此时userConfig对象的原型链已经被污染使得userConfig对象具有isAdmin属性并且值为true从而导致安全漏洞。
http://www.zqtcl.cn/news/126827/

相关文章:

  • 做网站必须在工信部备案吗网站开发英语
  • 门户网站模板图片建设厅网站初始数据入库
  • 甘肃三北防护林建设局网站阿里企业邮箱app
  • 沃尔沃公司网站建设公司建网站费用
  • 新网站怎么发外链公司做网站 要准备哪些素材
  • 建站域名英雄联盟网页制作素材
  • 手机网站 微信网站 区别布吉做网站
  • 网站建设层级图微信小程序怎么制作网页
  • 服务器上的网站怎么做301中小企业网站制作报价
  • 做网站需要用什么技术制作静态网站制作
  • drupal网站开发盐城网站建设费用
  • 采票网站刷流水做任务网站建设方案及预算
  • 传奇网站模块下载天蝎做网站建网站
  • 收录网站的二级域名wordpress虚拟币接口
  • 论坛建站烟台工程建设信息网站
  • 南京有哪些做网站的公司网站开发兼职团队
  • 网站建设优化外包免费客户管理软件哪个好用
  • 网上购物最便宜的网站微信官方网站服务中心
  • 充电网站建设方案个体工商户查询
  • 所有网站302跳转百度wordpress最大上传2g
  • 南京网站制作网页seo推广百度百科
  • 陵水网站建设哪家好建设培训考试服务网站
  • h5视频网站模板中国十大企业培训机构排名
  • 强的网站建设明细报价表网站建设推广新业务
  • 哪里有免费做网站wordpress 在文章前面加序号
  • 263企业邮箱登录入口首页seo公司哪家
  • 哈尔滨建设银行网站岳阳建设网站
  • 中山网页网站设计模板自己做的网站怎么让别人看见
  • 建设装饰网站出口跨境电商平台
  • 陕西网站建设公司排名WordPress图片生成文章