国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

安全開發(fā)-JS應(yīng)用&原生開發(fā)&JQuery庫&Ajax技術(shù)&加密編碼庫&斷點調(diào)試&逆向分析&元素屬性操作

這篇具有很好參考價值的文章主要介紹了安全開發(fā)-JS應(yīng)用&原生開發(fā)&JQuery庫&Ajax技術(shù)&加密編碼庫&斷點調(diào)試&逆向分析&元素屬性操作。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

JS原生開發(fā)-文件上傳-變量&對象&函數(shù)&事件

1、布置前端頁面
2、JS獲取提交數(shù)據(jù)
3、JS對上傳格式判斷

<script>
  function CheckFileExt(filename){
    var flag=false;
    //規(guī)定白名單上傳后綴
    var exts=['png','gif','jpg'];
    //1.php 1.php.jpg 接受傳遞的后綴名
    var index=filename.lastIndexOf(".");
    var ext = filename.substr(index+1);
    //進(jìn)行后綴檢測
    for(i=0;i<exts.length;i++){
      if(ext==exts[i]){
        var flag=true;
        alert('文件后綴正確!');
        break;
      }
    }
    if(!flag){
      alert('文件后綴錯誤!')
      location.reload(true);
    }
  }
</script>

4、后端對上傳數(shù)據(jù)處理

<?php
$name=$_FILES['f']['name'];
$type=$_FILES['f']['type'];
$size=$_FILES['f']['size'];
$tmp_name=$_FILES['f']['tmp_name'];
$error=$_FILES['f']['error'];

if(move_uploaded_file($tmp_name,'upload/'.$name)){
    echo '<script>alert("上傳成功!")</script>';
}

前端JS進(jìn)行后綴過濾,后端PHP進(jìn)行上傳處理
架構(gòu):html js php - upload.php
安全問題:
1、過濾代碼能看到分析繞過
2、禁用JS或刪除過濾代碼繞過
前端白名單很輕易就能繞過
安全開發(fā)-JS應(yīng)用&原生開發(fā)&JQuery庫&Ajax技術(shù)&加密編碼庫&斷點調(diào)試&逆向分析&元素屬性操作,Cyber-Security,javascript,安全,jquery

JS導(dǎo)入庫開發(fā)-登錄驗證-JQuery庫&Ajax技術(shù)

0、布置前端頁面
1、獲取登錄事件
2、配置Ajax請求

<script src="js/jquery-1.12.4.js"></script>
<script>
  $("button").click(function (){
    $.ajax({
      type: 'POST',
      url: 'logincheck.php',
      data: {
        myuser:$('.user').val(),
        mypass:$('.pass').val()
      },
      success: function (res){
        console.log(res);
        if(res['infoCode']==1){
          alert('登錄成功');
          //登錄成功處理事件
          //location.href='index.php';
        }else{
          alert('登錄失敗');
        }
      },
      dataType: 'json',
    });
  });
</script>

3、后端代碼驗證
4、成功回調(diào)判斷

<?php
$user=$_POST['myuser'];
$pass=$_POST['mypass'];
//真實情況需要在數(shù)據(jù)庫獲取
$success=array('msg'=>'ok');
if($user=='xiaodi' && $pass=='123456'){
    $success['infoCode']=1;
    echo '<script>location.href="index.php";</script>';
}else{
    $success['infoCode']=0;
}
echo json_encode($success);

后端PHP進(jìn)行帳號判斷,前端JS進(jìn)行登錄處理
架構(gòu):html js login.html - logincheck.php

JS導(dǎo)入庫開發(fā)-編碼加密-逆向調(diào)試

//MD5

<script src="js/md5.js"></script>
<script>
    var str1 = 'xiaodisec'
    var str_encode = md5(str1);
    console.log(str_encode) 
</script>

//SHA1

<!DOCTYPE html>
    <script src="js/crypto-js.js"></script>
    <script>
        var str1 = 'xiaodisec';
        var str_encode = CryptoJS.SHA1(str1).toString(); // 注意:1是數(shù)字1
        console.log(str_encode)  
    </script>
</html>      

//HMAC

<script src="js/crypto-js.js"></script>
<script>
    var key = 'key';
    var str1 = 'xiaodisec';
    var hash = CryptoJS.HmacSHA256(key, str1);
    var str_encode = CryptoJS.enc.Hex.stringify(hash);
    console.log(str_encode)  // '11a7960cd583ee2c3f1ed910dbc3b6c3991207cbc527d122f69e84d13cc5ce5c'
</script>

//AES

<script src="js/crypto-js.js"></script>
    <script type="text/javascript">
          var aseKey = "12345678"     // 定制秘鑰,長度必須為:8/16/32位, 長度不一致也沒問題
          var message = "xiaodisec";  // 需要加密的內(nèi)容
          // 加密 DES/AES切換只需要修改 CryptoJS.AES <=> CryptoJS.DES
          var encrypt = CryptoJS.AES.encrypt(message, CryptoJS.enc.Utf8.parse(aseKey),  // 參數(shù)1=密鑰, 參數(shù)2=加密內(nèi)容
              {
                mode: CryptoJS.mode.ECB, // 為DES的工作方式
                padding: CryptoJS.pad.Pkcs7  // 當(dāng)加密后密文長度達(dá)不到指定整數(shù)倍(8個字節(jié)、16個字節(jié))則填充對應(yīng)字符
             }
          ).toString(); // toString=轉(zhuǎn)字符串類型

          console.log(encrypt); // 在彈窗中打印字符串 2vcsEDJv9vAZZLgFLjkZ9A==

          //解密
          var decrypt = CryptoJS.AES.decrypt(encrypt, CryptoJS.enc.Utf8.parse(aseKey), // 參數(shù)1=密鑰, 參數(shù)2=解密內(nèi)容
              {
                mode: CryptoJS.mode.ECB,
                padding: CryptoJS.pad.Pkcs7
              }
          ).toString(CryptoJS.enc.Utf8); // toString=轉(zhuǎn)字符串類型,并指定編碼
          console.log(decrypt); // "xiaodisec"
    </script>

//DES

<script src="js/crypto-js.js"></script>
<script type="text/javascript">
      var aseKey = "12345678"     // 定制秘鑰,長度必須為:8/16/32位, 長度不一致也沒問題
      var message = "xiaodisec";  // 需要加密的內(nèi)容
      // 加密 DES/AES切換只需要修改 CryptoJS.AES <=> CryptoJS.DES
      var encrypt = CryptoJS.DES.encrypt(message, CryptoJS.enc.Utf8.parse(aseKey),  // 參數(shù)1=密鑰, 參數(shù)2=加密內(nèi)容
          {
            mode: CryptoJS.mode.ECB, // 為DES的工作方式
            padding: CryptoJS.pad.Pkcs7  // 當(dāng)加密后密文長度達(dá)不到指定整數(shù)倍(8個字節(jié)、16個字節(jié))則填充對應(yīng)字符
         }
      ).toString(); // toString=轉(zhuǎn)字符串類型

      console.log(encrypt); // 控制臺打印 CDVNwmEwDRM

      //解密
      var decrypt = CryptoJS.DES.decrypt(encrypt, CryptoJS.enc.Utf8.parse(aseKey), // 參數(shù)1=密鑰, 參數(shù)2=解密內(nèi)容
          {
            mode: CryptoJS.mode.ECB,
            padding: CryptoJS.pad.Pkcs7
          }
      ).toString(CryptoJS.enc.Utf8); // toString=轉(zhuǎn)字符串類型,并指定編碼
      console.log(decrypt); // 控制臺打印 "i am xiaozhou ?"
</script>

//RSA

<script src="js/jsencrypt.js"></script>
    <script type="text/javascript">
        // 公鑰 私匙是通過公匙計算生成的,不能盲目設(shè)置
        var PUBLIC_KEY = '-----BEGIN PUBLIC KEY-----MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALyBJ6kZ/VFJYTV3vOC07jqWIqgyvHulv6us/8wzlSBqQ2+eOTX7s5zKfXY40yZWDoCaIGk+tP/sc0D6dQzjaxECAwEAAQ==-----END PUBLIC KEY-----';
        //私鑰
        var PRIVATE_KEY = '-----BEGIN PRIVATE KEY-----MIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEAvIEnqRn9UUlhNXe84LTuOpYiqDK8e6W/q6z/zDOVIGpDb545NfuznMp9djjTJlYOgJogaT60/+xzQPp1DONrEQIDAQABAkEAu7DFsqQEDDnKJpiwYfUE9ySiIWNTNLJWZDN/Bu2dYIV4DO2A5aHZfMe48rga5BkoWq2LALlY3tqsOFTe3M6yoQIhAOSfSAU3H6jIOnlEiZabUrVGqiFLCb5Ut3Jz9NN+5p59AiEA0xQDMrxWBBJ9BYq6RRY4pXwa/MthX/8Hy+3GnvNw/yUCIG/3Ee578KVYakq5pih8KSVeVjO37C2qj60d3Ok3XPqBAiEAqGPvxTsAuBDz0kcBIPqASGzArumljkrLsoHHkakOfU0CIDuhxKQwHlXFDO79ppYAPcVO3bph672qGD84YUaHF+pQ-----END PRIVATE KEY-----';
        //使用公鑰加密
        var encrypt = new JSEncrypt();//實例化加密對象
        encrypt.setPublicKey(PUBLIC_KEY);//設(shè)置公鑰
        var message = 'xiaodisec' // 需要加密的數(shù)據(jù) 
        var encrypted = encrypt.encrypt(message);//對指定數(shù)據(jù)進(jìn)行加密
        console.log(encrypted)  // 'JQ83h8tmJpsSZcb4BJ3eQvuqIAs3ejepcUUnoFhQEvum8fA8bf1Y/fG+DO1bSIVNJF6EOZKe4wa0njv6aOar9w=='
        //使用私鑰解密
        var decrypt = new JSEncrypt(); // 創(chuàng)建解密對象
        decrypt.setPrivateKey(PRIVATE_KEY); //設(shè)置私鑰
        var uncrypted = decrypt.decrypt(encrypted); //解密 'xiaodisec'
        console.log(uncrypted);
    </script>
# 參考

1、原生JS教程
https://www.w3school.com.cn/js/index.asp
2、jQuery庫教程
https://www.w3school.com.cn/jquery/index.asp文章來源地址http://www.zghlxwxcb.cn/news/detail-661890.html

到了這里,關(guān)于安全開發(fā)-JS應(yīng)用&原生開發(fā)&JQuery庫&Ajax技術(shù)&加密編碼庫&斷點調(diào)試&逆向分析&元素屬性操作的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 第10講:使用ajax技術(shù)實現(xiàn)省市縣三級聯(lián)動(jQuery)

    多級聯(lián)動是在軟件開發(fā)中經(jīng)常碰到的問題,本文章與大家探討三級聯(lián)動的技術(shù),使用jQuery對ajax技術(shù)的支持,使用$.post方法實現(xiàn)省市縣三級聯(lián)動,后臺使用jsp的servlet技術(shù),MySQL數(shù)據(jù)庫,fastjson封裝json數(shù)據(jù),具體實現(xiàn)如下: 序號 資源 說明 1 jQuery插件 ajax通訊基礎(chǔ) 2 mysql數(shù)據(jù)庫 存

    2024年02月11日
    瀏覽(25)
  • Java后端開發(fā)——Ajax、jQuery和JSON

    Java后端開發(fā)——Ajax、jQuery和JSON

    Ajax全稱是Asynchronous Javascript and XML,即異步的JavaScript和 XML。Ajax是一種Web應(yīng)用技術(shù),該技術(shù)是在JavaScript、DOM、服務(wù)器配合下,實現(xiàn)瀏覽器向服務(wù)器發(fā)送異步請求。 Ajax異步請求方式不向服務(wù)器發(fā)出請求,會得到數(shù)據(jù)后再更新頁面(通過DOM操作修改頁面內(nèi)容),整個過程不會發(fā)

    2024年02月03日
    瀏覽(23)
  • 第9講:使用ajax技術(shù)實現(xiàn)增刪改查及分頁顯示功能(jQuery)

    本講內(nèi)容首先講解jQuery對ajax的支持,分別講解$.post,$.get,$.ajax等方法,這些方法的參數(shù),使用方法及區(qū)別。最后對ajax的綜合應(yīng)用舉例:在同一個頁面實現(xiàn)新增,修改,刪除學(xué)校資料,分頁列表等功能,前端使用html靜態(tài)頁面,使用MySQL數(shù)據(jù)庫,后臺使用servlet技術(shù)實現(xiàn)。 基礎(chǔ)環(huán)

    2024年02月11日
    瀏覽(28)
  • JS加密在網(wǎng)頁安全中的應(yīng)用及逆向分析方法

    JS加密在網(wǎng)頁安全中的應(yīng)用及逆向分析方法

    在當(dāng)今互聯(lián)網(wǎng)時代,網(wǎng)頁加密技術(shù)的應(yīng)用越來越廣泛。在網(wǎng)頁中,常見的加密方式包括三種:flash加密、密碼控件加密和JS加密。雖然這三種方式各有優(yōu)劣,但JS加密是目前最為普遍和靈活的加密方式。 JS加密的廣泛應(yīng)用主要源于它的靈活性和易用性。與flash加密相比,JS加密的

    2024年02月06日
    瀏覽(23)
  • 原生js發(fā)送ajax請求---ajax請求篇(一)

    原生js發(fā)送ajax請求---ajax請求篇(一)

    在原生js中我們使用的是XMLHttpRequest對象來發(fā)送ajax請求 主要步驟就是: ? ?1.創(chuàng)建XMLHTTPRequest對象 2.使用open方法設(shè)置和服務(wù)器的交互信息 3.設(shè)置發(fā)送的數(shù)據(jù),開始和服務(wù)器端交互 4.注冊事件 5.更新界面 (1) get方式 ?(2)post方式 ?二、也可以對原生js發(fā)送ajax請求進(jìn)行封裝 以

    2024年02月12日
    瀏覽(17)
  • 探索慢霧安全團(tuán)隊的加密貨幣安全項目:技術(shù)解析與應(yīng)用指南

    項目地址:https://gitcode.com/slowmist/cryptocurrency-security 在這個數(shù)字化的時代,加密貨幣的安全性是我們無法忽視的重要議題。 SlowMist 團(tuán)隊,作為一個專注于區(qū)塊鏈安全的研究和防護(hù)組織,發(fā)布了一個名為 \\\"cryptocurrency-security\\\" 的開源項目。本文將深入探討該項目的核心技術(shù)、應(yīng)用場

    2024年04月27日
    瀏覽(23)
  • 【b站咸蝦米】jQuery的ajax異步操作 web前端后端分離技術(shù)的原理

    課程地址:【jQuery的ajax異步操作 web前端后端分離技術(shù)的原理】 https://www.bilibili.com/video/BV1u5411M7ny/?share_source=copy_webvd_source=b1cb921b73fe3808550eaf2224d1c155 通過案例學(xué)習(xí)ajax異步操作。 介紹 php,前后端不分離的技術(shù)。 ajax,實現(xiàn)前后端分離技術(shù)。 在之前,要做動態(tài)網(wǎng)站,要懂php,ja

    2024年04月15日
    瀏覽(99)
  • 最詳細(xì)?。?!前端原神官網(wǎng) (采用html+css+js+dom+ajax+jquery+swiper+json)完整版

    最詳細(xì)?。。∏岸嗽窆倬W(wǎng) (采用html+css+js+dom+ajax+jquery+swiper+json)完整版

    1.該項目采用了大部分前端知識, 完整的復(fù)刻原神官網(wǎng)上所顯示的全內(nèi)容 ,非常全面和詳細(xì)。希望有興趣的小伙伴萌可以看看和參考一下?。?!該項目可以作為大學(xué)生 畢設(shè)項目(附帶項目答辯ppt) 同時也可以作為計算機專業(yè)的小伙伴的 期末大作業(yè) 。喜歡的請留下你的足跡

    2024年02月05日
    瀏覽(87)
  • CSA研討會|聚焦云原生安全,探討技術(shù)與應(yīng)用策略

    CSA研討會|聚焦云原生安全,探討技術(shù)與應(yīng)用策略

    為產(chǎn)業(yè)數(shù)字化保駕護(hù)航, 云原生安全體系如何有效抵御網(wǎng)絡(luò)威脅? 網(wǎng)絡(luò)安全的下一個十年, 云原生安全是網(wǎng)絡(luò)安全創(chuàng)新之路嗎? CNAPP部署現(xiàn)狀,你了解多少? 9月6日(周三)下午14:30-18:00, CSA大中華區(qū)聯(lián)合探真科技舉辦CSA研討會|云原生安全技術(shù)與應(yīng)用。會上還將深度解讀

    2024年02月10日
    瀏覽(25)
  • 提升Web3安全性和用戶體驗:元事務(wù)和加密技術(shù)的應(yīng)用

    提升Web3安全性和用戶體驗:元事務(wù)和加密技術(shù)的應(yīng)用

    在Web3中,去中心化應(yīng)用程序(DApps)是一種基于區(qū)塊鏈技術(shù)的應(yīng)用程序,它們通過智能合約實現(xiàn)透明、安全、去中心化的業(yè)務(wù)邏輯。然而,DApps的使用門檻比傳統(tǒng)的中心化應(yīng)用程序更高,需要用戶具備一定的技術(shù)知識,例如安裝和使用區(qū)塊鏈錢包、交互式智能合約等。 為了解

    2024年02月16日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包