【iOS(swift)笔记-14】App版本不升级时本地数据库sqlite更新逻辑二

App版本不升级时,又想即时更新本地数据库怎么办?

办法二:从服务器下载最新的sqlite数据替换掉本地的数据(注意是数据不是文件)

稍加调整,

// !!!注意!!!如果只是通过网络更新数据而不是更新整个数据库,应该要额外有一个数据版本dtVersion,而不是用直接用dbVersion。两者互不冲突,各有各用。

具体逻辑

1、首先本地数据库里一定要有一个字段(名字自己取)

比如dtVersion,可用数字(比如1或字符串1.0.0)存储,记录当前数据的版本

2、访问服务器

服务器同样也有一个属性dtVersion2记录记录最新版本的“App的本地数据库”数据

如果dtVersion2>dtVersion

则下载数据进行更新。

网络数据互通通常用JSON结构,但是考虑网络安全性,通常传出去的数据要先加密,得到数据后再解密。可全局加密也可局部加密,这里为了让观众看个明白就采用了局部加密

举个栗子,下面贴出来的是服务端返回的一串数据,

基本格式是这样滴:

数据版本@@@@@表1数据列表@@@@@表2数据列表@@@@@表3数据列表

每个表的顺序事先定好,不能再变。

因为数据库有很多个表,所以指定字符串将表数据之间分隔,App得到数据后用split分割出来,然后再将每个表的数据转成数组就OK了。

具体数组转JSON,JSON转数组的方法自己网上查找

解析出数据之后,再逐个将本地数据库sqlite进行更新即可

===A===>18@@@@@[]@@@@@[]@@@@@[{"img":"zIX4EGSrqQvIo/2s7ySukg+Md7U9SrlyxneSfUb+xnu0Y+CKyhPLaOPx34qJlnN8ZA==","date":"","sub":"Zl/Osw60h1HUfCx29RCmZPMwc68d85RHXLSYwQ==","domain":"WmGWYO6hIE716RuZAyjvXGe1oW3tCrORBiWpUVkmzB1GHJUF2w==","device":"mac","node":"i8EWwxgUTnuawmhftjhWNEd3BsvLKoFkjzZLQXHLlwyIE6GZTPlJ62rPVlw=","id":1},{"device":"pad","node":"DVKVj0Cw6pLEVWN9yGTQ0mkEhVQDgEe12GChGcvB91+DWSA4eEaVEnExri0=","sub":"saqgzOB3eMu+J7J1I+fQKxTHG/RX5PtNmgdt1Q==","date":"","id":2,"img":"1QLcJvTnp+b94mqLit7ue7ewQTH+vuFXJxWlv43BUjarZQgU8ufmxyWoIuO1w54/Sw==","domain":"gGbytAnayppwc9YzAMjWKDbWsDXOYkfg2Fv52zYsCWsH9IwYwQ=="},{"node":"dUr3gxX5pXtgpfnSuqlFWOOCObx8INQ+o1owVEENEgskQeCu+7l8uT884V4=","domain":"FvqqxW7HIuN+6Pda9tDEj1EzjhKD7nLu0mP+L1U4JtkcicnIsw==","img":"f4GQ4jPsxh4YGYDhxHXI8GlpzlLWPU8ZF7nuZBK8aANiAQFANr6mu71Hrzy/NHMgLg==","sub":"n0XpEW4dWIx+keMf+5EoX4HxM+Ao4/WPFbWMtQ==","id":3,"device":"phone","date":""},{"date":"","node":"EngsJFUFZqbCHKlF3FUtVuwtdfqVtimmv8EOCOzh9KIOHbSTpidlxvcvOyI=","domain":"fgpRV58bTW/ogX/m1woHo95vjD9rNkVeAMhIpvVs9/Fg/qy3ZdYMiCE8AQ==","img":"DI1qjMFdCeiragWN0UhVrxuq9gHIJqt2DNycwLLibuB+bfV2GBqtSShwpfKrhHGVAA==","device":"mac","id":4,"sub":"fD2JXtQzJQJe/JS0vx+VF5us+8TbzGbuJdUxKg=="},{"id":5,"node":"oLWXtc4q3JgeNf4LzGz4zBXL8pPFh9hLVBMK+sq2dU66iwxk7x3sGgzI/QQ=","date":"","device":"pad","sub":"cF0NV5sICsn3QSBAnHZxfEexoIzRqa47l8fm8g==","img":"dLwL2s+ru3Z4b0e90C6Rmgr1coSIvd6ig3+TvpMTovahtsaLTkG7Pd0li1dB9T/AzA==","domain":"E5Flif+XV0+yI0qabakBasgMgnts/HbVds7ADFXtc8pO32C7tOMZUg0pog=="},{"node":"ktodhWW0O6nKLxXGo56p/WDIVEdvQWkz2bugRQJ2qVfc2aB6kwtJdx1outI=","date":"","id":6,"domain":"b+foqbBEvwkBe8LyVJGYyjaLuLK8V52coxAfeelj6xzNKrd2iy3hbiCyQA==","img":"DBNXgSlyZhcVEwU/PZQX6MTARdT4CCseuFwxLU5x/0e/bb5atbiv97fXaibiXWhuYw==","device":"phone","sub":"aJ+1+dxIq3O7GBNOafBiLbTzRByXC4eV2pz48A=="},{"date":"","id":7,"sub":"joAAMTcogFAOJgqoPEfJlG0IcYnocmXmWVBrFA==","node":"p05g2R7XTeQOSihzUjCOJ/g7A3A8qcvcO5Ru38BgRCkNN+qSUbPBCMmk","domain":"gekdLfOb0LcSFOMnitp4FvG2TO+P2IPpSVIFCUwYvDGM3nYd1HSj5F8=","img":"nCOp6ixmooIrbQte1d88ifyxgGxDjkfXfdgOBiuNrgqIfUXYbh8MQVWQCZWcsA==","device":"mac"},{"device":"pad","id":8,"img":"npzP1AnlHrVMBlURK6RlERzbZLB2IKkyzACKwOazOBQgoY7sb7oARfso4iUWgw==","domain":"q8LLam8EMP4DiDXdCHG8GPmSPY1O1u9uGQiZUr89Yt0btY4h7ldoQ6I=","node":"WfhlsTSMdVU05MUa3RAHPI47YSDKnk7SHkSUolbP2Sz89HlxYRU9eQNN","sub":"x9mIgMtdgtnZhkFck92LGRSkxO9jGF44d5poDw==","date":""},{"sub":"ZGqJJJ8hx7rI57TZUybaybFxCXwBHlKtifqWjQ==","img":"ahMPacv8sbBOr0MH6QLO8wf+XPGqIEiuBC8p42AlvNbMnmVAlFKy3fpKUwfT9Q==","node":"us5sV3qtfPg+rVKLt63OK1Nki5JuWxNQykkgFHyw9WhwbdqC4JJA9HcS","id":9,"domain":"oVzU0z7nhPZOP5DDWZrCVgx9zn6fTyiga0zEkKc9ZRBy1xlE+dmsnUM=","date":"","device":"phone"},{"device":"mac","sub":"clmY+21m/tTzN4ByxbGkrOBdA2yuGUUJ/lpN/fgpQzk/2+F+ZLQ1GjCny0o6IE8iPXBIp4typofydgc=","node":"Lg9+uDKHhLNd5gh1t/mDyW4ZdKRh2lndXS7f/PWrkp45ZglTYY0MV2fFXPI=","date":"","id":10,"img":"TW2QRE7heRb/yw8T0FBsMpG62zdy1vrOOYnGFInik/XlneYZ/fUq7W3rXwRqFCucOspio4g1PtzUtjkuuNtoZiiPgUmpbV70K71grVUg","domain":"7JBvQnlNdBX55D3eNw1dImntT58CWmUuecm3IYBXGkPoFFZ8/CrHDHVh40I="},{"node":"lVxiaKRbFv0xMEGLSDntb5ZuZ3md2CtYZK+9/RqTQk+6qU5NPaApPONXZo0=","img":"l3P2Hx/iLnybD2EolTZUr1ToIG9jnW+ZtbUJQ5thlMRc6fE63/pmYoBvs+slqJKeelWuO6xPeZnDaTJfdTtSAbMF50UT2FMDq6Y2AFuP","sub":"8pNa7fWtgTP2U8lHCoZavw70Ev4p50m98cFhYyPmYz+5nCuXId8x1Uh2lXlOrZWxUJ4Iw1feLYzaifs=","date":"","device":"pad","id":11,"domain":"KvZAB5vzdYz/X/mqYjkMvGNkKkXwKuRfALYIxKPW2owSCU7HhYmouv7Sxjg="},{"date":"","id":12,"device":"phone","sub":"a/my9PixeH8d8OpLp0VRq4X406Uj3wbrImyvBZOCB7uXfPxWehbWq5j7VqHV6WmEW7h2fYqfn53AEdg=","domain":"f0OEo7SwjHOl6+UojAtWGaxXHANZv31ADLh8qLG6VUayvuXG99cSk53QBiI=","img":"pf7YcHu8NmTDaOQpwz8X9wRImnbKeD1WqHSFj7zzderIE46RbSYOvMVZbMCS8b0V70K5GYBZyHp6De0BDaLqnadxv7AYmM8slMZ5e81E","node":"fuFG5+/UEviu6w2Fqm4iSV6H2j8RyF3VI/yWhJT+uPPOib/gdWIM3HiJJfc="},{"device":"mac","img":"ipgVtdtVekvdOHGw6n3OyVcohhvgJyqJNOhP1qWzzQxIJAlQC+bTF3c7","domain":"REzYKHePmtNMDySaSRKbRrNbqe60OltxswCJM2lTn4vPPnnquo2UyUuTzdaPLlYRU7gnfMg=","date":"","id":13,"sub":"hrgfhoEbqSYRIgum8o+eTGhCPoPRRwkDOS+y0A==","node":"2RNmH8fPIjiAmT8ozhv223/3jDg8HYvD5oFkqoeTKTbqc+yPwug="},{"date":"","domain":"mD+T3zQiMaOpzOEdCwsIYvPcAesi2tBMd2u5yqcj3uLQSs2MsnFC50985aC0nx5/1jqrUCE=","id":14,"device":"pad","img":"pHW+FtW2N4ZJ+cRLSYvEjLc0AcvcytqduFKyvXAJSP3aK4L1X2uRR0FI","node":"2v2HhY7WG4i95N+OFYpP8oWIVbaWtB1VKatYtiqiADWZCjBVMG0=","sub":"LNLJaKvCkLkzneTOz7bX+FFndL5k2qghaDYjMQ=="},{"img":"O6JsBiM/xVK2u7vWT6mLVTNhK6Xc/yF66oNWRypdh9ogFH+WvX7xP7jG","domain":"/LjXY7lOc7aNfYIq10MJs6KaWD/DXKhczcyWgKS7jQK474ckxSMGsNPI6s4xrEY8/4M2lZ4=","node":"GLJKvG4hZnbq/gpdD32QYDQXsOIdT0MWd/n774JsKfWxZ6Qj/Gg=","device":"phone","sub":"WkgALGDgUCsu/EA+knDVJaveenYnRTd8Xf1GSg==","date":"","id":15},{"img":"/E2S48+pDdOCW2hUE+Uodr/SYplWtKf2urM/h+4pfd3Lau7G3iXWBXA=","id":16,"device":"mac","sub":"/u56UxeUx7Grkeb1xkNgsH3kQ9Q+GBf0xqclOQ==","node":"QL84ohB3Y+vp545F+C0JsS1q8tgpd1a/2AGo50PsrZz5bBgotg==","date":"","domain":"BwSRlCOWjuJZ5jwNk40RgDT2vigqT+Yptkl6GJTZ4Gv0Sg8+EQ=="},{"img":"wOwyQivfjm9AQiO5npWTPRkAhmeihELG7q89l4FvmYin+XlPqzpdnSI=","sub":"vDpT+3kXXnK1MeF6+fv32q7k7J+TTpH6PJGiIQ==","id":17,"domain":"3puQkXXmqp5MKGm5fkYteurXZybn7aTe39zOzShBGDpJ6GMMeQ==","device":"pad","node":"QOcHZlpn69AZusfINKhYtsg82JFEe8fdwVgS7cnWUqVYfHRvxg==","date":""},{"id":18,"date":"","sub":"Z2HQayuPnxW4O67wBl/XMUDidrdhVGVNxXnj8Q==","node":"WdFLkKA7gefYycll1nywizk1LOUzshC5B3Os5JHG1ou4+x+n8A==","img":"txAUjgSXWNWYDkRffqCO4yqq5uuQknPrZFvBpFd+PLrQHeqzzmh+0Jk=","domain":"tWCZnw7ZLf5//VKXN9iec0HR0xeqqxmyb/HpSjgpAnWPSS4i1g==","device":"phone"},{"img":"E8KrGJT6ZKL6Rc4ep9MXkeWtd9Tu8Vc2ByfscGw+h0EObRUqGRgDYgyyXNDQrjRZMTVkuTw=","sub":"u/wIsqQ2xeHF9bbeM0NZ3NBkc387z5RGLLz58g==","domain":"Bnb2qDb9JaLZuNtj+hLp31LfABFFVRWD9JLvJMg36liiJE+pX8j+Px6IQA==","node":"aZAmuHzOCm/NDfIJqkgx52cnGFeVqvY4Vc1e2ItJn/B/WDvunpg6ooJ27OpkHlHK8g==","date":"","id":19,"device":"mac"},{"id":20,"node":"7K8qbTFo6wxB0eTI6rNcn2FdD2KGDKzxJZsof4Csx0I2yV61NW4kbtLHeAl4sOA39w==","date":"","sub":"BZDdELKooUPQvyKNJaxLb8ThGqV0eQ1FOnZOUw==","img":"oYXmt9Lz+EhELkfpaKpK8XkXVTdofPgCWO23gfmKB1zo7hJuerYdfXWcRLu7oo3oUAKoE4I=","domain":"LKDgsP1m4zluSG9LGj8UEFd7ClPwCuHYcOKsQZvoT6bQwQyYyCdVPowsIw==","device":"pad"},{"domain":"Xzeb4bEAhO9OO+T2Cae7gsdxyH2IzIK0Hcpk57FD/Y4fCi4Zu4mI0QNwGQ==","device":"phone","sub":"WSfTDo9WC569/fVvQZxLYY055NB41966VuBeJw==","img":"6FgldTEPf0W42SacGDAD+xDogulQlGneNPORh2EfHl6myDa/27EUEXDxefusqS+eR01wH9o=","date":"","id":21,"node":"XobLn1Z6fYBjoCTwbX6zCfOVr4fmDLI5ifTxMnGMl81U6MEujXZSob6wLfL/NI1uaw=="},{"domain":"dTGN47tfvQLow2VCzuwXBfnSH0CMaCPUa+IjXVqiyEqRHxpuBFRo0Dn7","id":22,"sub":"dEUelfLQJtjNNgGG+3CbYftTQjLyrOl8bIal3g==","device":"mac","date":"","img":"heu2tlEWX17NpaLuGQ8oZLYcpq0WbWZX6404cYY61wQkE6RubYc/oSXNVCfCDQ==","node":"TlFDMzcQ2XXk1b78lRILjJkMJWeeKGak/MUCAb1anw7s/h8MXNGwgUEO"},{"node":"a1sEg3mHBpQZ1FoXNI/9yHwAWTkiGumhdXTCsNHrp3vNbrzjbQNXDOJE","id":23,"domain":"uJD3dj+QFMdG/IdS1anVXHazbrFg6LPUXaeCEyckNCINiNWHMTIxm2+o","device":"pad","date":"","img":"Jk4NIwHQVWlocOylvztzRI+OGTk43/nnGQPRPIfT4H/tYBcnlo7w8/zLxhWojg==","sub":"x4cVIh0ibKcIYIH5b3o9KXKZeT/2hRmAhO+MqA=="},{"device":"phone","domain":"VMznhb64LKnJ3B+xlzp+aedCgEzm8u4VAaZLXoAzfaWpPlzAKBfIhe9p","date":"","sub":"UJ/+I+TFbgwef8cDX7fPUcNoKTWuxWesvEOSBg==","img":"6qR0F1BZKVKVuoPqP57stg4zWBx764+g6XKyriq9cpdwfnZXnTy+DIFzcrZWRQ==","id":24,"node":"04aRdp5bsDxgdltQL6fTQp+0zqnFgcEeWEpapRDOMiQzmfEYsfZv+imN"},{"date":"","device":"mac","img":"0ckSjr6h7zf1weKuIj+Emea3prTGJU4MAMsmatpdtHmqyWv8P2MIB3a8Ls0=","sub":"V2pCjNfwr+i5fpa1frZq4MoqnzUPFbPrHfkyxw==","domain":"al+sPyX1/CGJpH0zoOKohvmxCxZzGRi3/iHI5Y9SGuIg1rpgi6V9MvSv","node":"LSH2tW8fPeTjX8/J44kXMlwblLuZ1NzDJ5PBYlUylkMHuHIbeNaMNA==","id":25},{"device":"pad","sub":"ukl6nXrTuGnU9mwxrcj5KNRh2tsznGvDSR6h/g==","id":26,"date":"","img":"JtJqTb9QqP1sz13kvSf4I7kni/Pad1AKq/mXKnIaE1jV9dQIOKQRiaLdF/c=","domain":"d/NrIEyPxgJz5yk5x47Yz3ZE6sbqu504vNodpfKrzJZwaEnafVubflHG","node":"3ApeexqK8i4UA/aONBiP8Tfp/pCEn5STsaeMrpKejeRBOCeYn4iyHA=="},{"img":"brbbnOczRp9VgrVScMrsMxW/qPqwrb6+zH/wTFLMQ+p4r8E7VyKuHy61UFY=","date":"","sub":"8tXYbSgS5BfTOB+MVC0cBeOsjZulblNxrbSZ/A==","domain":"i5xAgGL/JyU73dnDb9rsy+KLbn8tOuY8r3YnseU54X+SYvl4uoMymCKi","id":27,"device":"phone","node":"B2TNIoPNq/+IEzwychlsDANZynkIEEcjdbzffFEDIv/RhzCBR2/4Qw=="},{"img":"Zr1DXR1qJHWNA7ikK9ik64b4shzeTZg2zhJpRNSDbuYFov21OBqJaRzDgRbB","sub":"tJAS1OtkzsrwIxDmf4vc4HIbISrpOFYXIQxGKw==","date":"","domain":"2LvOPOUSE5cvsbYbrbM/eokkp+H3uNeTPBxTkxXpQc/VspCGOQ==","node":"t8KIGn7ky2Bkfm29r7CYoTeI+wFzHq86kpf44bsHAZ6MAUCgA2rk/o4=","device":"mac","id":28},{"img":"EnklKhb3FAODebTaz4dU4sFR1X0j5Gl2Jm6pCKoHRdDgYWweH+Dq1u/5sj6D","domain":"aJjYF1sk243c/y69K/1fo2HpCY2DC5iya9bBEOBvz22iG7lW0Q==","sub":"piDOmp8WJD7vg0B9LF9m327nXsjs5yU6JSVcGg==","node":"J/Aos6O68f0DAVFrmLNe0uFl9zP6YFP7AEqARrJ2xxUZtaoElHLRHio=","id":29,"device":"pad","date":""},{"date":"","id":30,"domain":"Jezi4XQ+vNSZel1p0usBT6okP1yOZmPMKDHG9C6TXxALcMMzIg==","device":"phone","node":"eYmejovpL9jepbuYXWGowuCt6Pu0WEG5r3w5aWgU4yTh1H9YTld9PZ0s3w==","sub":"/OiJxbaFxUhvkUxBC7a+ie3lI396rZPgYnh/rQ==","img":"6m5QbrdJDI7eklBUlDmmDypAl/2FbFEd+uiPZsM6vADD9ttMReFTMpkq6P7TFyIuMKIWfvtCSPbUj41dzr63rtgcVcdTGA=="},{"sub":"KI8VmAkyolW0CIWJySnDANj2f9mSjd4uSskuEQ==","domain":"aabBr+3s9idcvc93Q3/h7wSHO+whqhBvvrLRUFD5vLo7IuHtOg66","id":31,"device":"mac","node":"0+hYoVxZfoxlFB/or8Zsdy1ETr4hwFXmta4lGpu/xeTEA9gH1F8+L3SopdE=","img":"jK4jqZDyiNwSC7XvgVTPdwXTPaPg61y+retjcZUwuBjlrT7lkaW/5PRVD85zstC5","date":""},{"device":"pad","sub":"hIsAb+rRRaquoK8ueaBfP5jlPQSoFbKVUcRYvQ==","node":"gwUq0pZTOS0U93X6yDlj+5mo7xJ1sruK16L1ETkXpItxoYeaVmjpSSxUJzY=","domain":"7EGCJziI7bn8MLzDUtWpTitny8PRuxvrboMacUK8GCiU2A5SmrIO","img":"ilkFd+jmYsd1vvNbY21sILUBFo8olL4xDloMXlCTqvgr8Jyl/u3KYjTV1n4tcXpW","id":32,"date":""},{"img":"i5vEQvykuQtA/qSGgDS+JbHV4pvU5WLrmfPuBkQqDylKkkizjO+Oi0lbtFOMa8ek","id":33,"node":"GGKDlrqNBD6lIkvoGIegN9xPA6mHshe03UcwK4IRZI7mAIOW8IzjwGaVBvk=","sub":"73RfZK2KzWKKTLp7BRCQfmMmQuxP5CqRm8pEMQ==","domain":"v3NRBYmafxb8yVSYioYNt3+9kP3xwr/S7y565M0wUI4KT6ByZTVQ","date":"","device":"phone"}]<===A===

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/diannao/85620.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mac电脑_钥匙串操作选项变灰的情况下如何删除?

Mac电脑_钥匙串操作选项变灰的情况下如何删除&#xff1f; 这时候 可以使用相关的终端命令进行操作。 下面附加文章《Mac电脑_钥匙串操作的终端命令》。 《Mac电脑_钥匙串操作的终端命令》 &#xff08;来源&#xff1a;百度~百度AI 发布时间&#xff1a;2025-06&#xff09;…

对接系统外部服务组件技术方案

概述 当前系统需与多个外部系统对接,然而外部系统稳定性存在不确定性。对接过程中若出现异常,需依靠双方的日志信息来定位问题,但若日志信息不够完整,会极大降低问题定位效率。此外,问题发生后,很大程度上依赖第三方的重试机制,若第三方缺乏完善的重试机制,就需要手动…

WAF绕过,网络层面后门分析,Windows/linux/数据库提权实验

一、WAF绕过文件上传漏洞 win7&#xff1a;10.0.0.168 思路&#xff1a;要想要绕过WAF&#xff0c;第一步是要根据上传的内容找出来被拦截的原因。对于文件上传有三个可以考虑的点&#xff1a;文件后缀名&#xff0c;文件内容&#xff0c;文件类型。 第二步是根据找出来的拦截原…

一文学会c++中的内存管理知识点

文章目录 c/c内存管理c语言动态内存管理c动态内存管理new/delete自定义类型妙用operator new和operator delete malloc/new&#xff0c;free/delete区别 c/c内存管理 int globalVar 1;static int staticGlobalVar 1;void Test(){static int staticVar 1;int localVar 1;in…

深入解析Linux死锁:原理、原因及解决方案

Linux死锁是系统资源管理的致命陷阱&#xff0c;平均每年导致全球数据中心约​​3.7亿小时​​的服务中断。本文深度剖析死锁形成的​​四个必要条件​​和六种典型死锁场景&#xff0c;结合Linux内核源码层级的资源管理机制&#xff0c;揭示文件系统锁、内存分配、多线程同步等…

SKUA-GOCAD入门教程-第八节 线的创建与编辑2

8.1.3根据线创建曲线 (1)从线生成线 这个命令可以将一组曲线合并为一条曲线。每个输入曲线都会成为新曲线内的一个部分。 1、选择 Curve commands > New > Curves 打开对话框。 图1 根据曲线创建曲线 在“name”框中

『uniapp』把接口的内容下载为txt本地保存 / 读取本地保存的txt文件内容(详细图文注释)

目录 预览效果思路分析downloadTxt 方法readTxt 方法 完整代码总结 欢迎关注 『uniapp』 专栏&#xff0c;持续更新中 欢迎关注 『uniapp』 专栏&#xff0c;持续更新中 预览效果 思路分析 downloadTxt 方法 该方法主要完成两个任务&#xff1a; 下载 txt 文件&#xff1a;通…

攻防世界-unseping

进入环境 在获得的场景中发现PHP代码并进行分析 编写PHP编码 得到 Tzo0OiJlYXNlIjoyOntzOjEyOiIAZWFzZQBtZXRob2QiO3M6NDoicGluZyI7czoxMDoiAGVhc2UAYXJncyI7YToxOntpOjA7czozOiJwd2QiO319 将其传入 想执行ls&#xff0c;但是发现被过滤掉了 使用环境变量进行绕过 $a new…

IP查询与网络风险的关系

网络风险场景与IP查询的关联 网络攻击、恶意行为、数据泄露等风险事件频发&#xff0c;而IP地址作为网络设备的唯一标识&#xff0c;承载着关键线索。例如&#xff0c;在DDoS恶意行为中&#xff0c;攻击者利用大量IP地址发起流量洪泛&#xff1b;恶意行为通过变换IP地址绕过封…

pikachu通关教程-XSS

XSS XSS漏洞原理 XSS被称为跨站脚本攻击&#xff08;Cross Site Scripting&#xff09;&#xff0c;由于和层叠样式表&#xff08;Cascading Style Sheets&#xff0c;CSS&#xff09;重名&#xff0c;改为XSS。主要基于JavaScript语言进行恶意攻击&#xff0c;因为js非常灵活…

【时时三省】(C语言基础)数组作为函数参数

山不在高&#xff0c;有仙则名。水不在深&#xff0c;有龙则灵。 ----CSDN 时时三省 调用有参函数时&#xff0c;需要提供实参。例如sin ( x )&#xff0c;sqrt ( 2&#xff0c;0 )&#xff0c;max ( a&#xff0c;b )等。实参可以是常量、变量或表达式。数组元素的作用与变量…

硬件工程师笔记——555定时器应用Multisim电路仿真实验汇总

目录 一 555定时器基础知识 二、引脚功能 三、工作模式 1. 单稳态模式&#xff1a; 2. 双稳态模式&#xff08;需要外部电路辅助&#xff09;&#xff1a; 3. 无稳态模式&#xff08;多谐振荡器&#xff09;&#xff1a; 4. 可控脉冲宽度调制&#xff08;PWM&#xff09…

C++11特性:enum class(强枚举类型)详解

C11引入的 enum class&#xff08;强枚举类型&#xff09;解决了传统枚举的多个问题&#xff1a; 防止枚举值泄漏到外部作用域&#xff1b;禁止不同枚举间的隐式转换&#xff1b;允许指定底层数据类型优化内存&#xff1b;避免命名空间污染。 其基本语法为 enum class Name{.…

【QT】QString 与QString区别

在C中&#xff0c;QString 和 QString& 有本质区别&#xff0c;尤其是在参数传递和内存管理方面&#xff1a; 1. QString&#xff08;按值传递&#xff09; 创建副本&#xff1a;传递时会创建完整的字符串副本内存开销&#xff1a;可能涉及深拷贝&#xff08;特别是大字符…

提升四级阅读速度方法

以下是针对四级英语阅读速度提升的系统性解决方案&#xff0c;结合最新考试规律和高效训练方法&#xff0c;分五个核心模块整理&#xff1a; &#x1f680; ​​一、基础提速训练&#xff08;消除生理障碍&#xff09;​​ ​​扩大视幅范围​​ 从逐词阅读升级为 ​​意群阅读…

6.4 note

构造矩阵 class Solution { private: vector<int> empty {}; // 返回每个数字(-1)所在的序号&#xff0c;可以是行或列, 如果为空则无效 vector<int> topoSort(int k, vector<vector<int>>& conditions) { // 构建一个图…

SCSS 全面深度解析

一、SCSS 入门指南&#xff1a;为你的 CSS 工作流注入超能力 在现代 Web 开发中&#xff0c;样式表的复杂性和维护成本日益增加。为了应对这一挑战&#xff0c;CSS 预处理器应运而生&#xff0c;而 SCSS (Sassy CSS) 正是其中最流行、最强大的工具之一。本指南将带你深入了解 …

R1-Searcher++新突破!强化学习如何赋能大模型动态知识获取?

R1-Searcher新突破&#xff01;强化学习如何赋能大模型动态知识获取&#xff1f; 大语言模型&#xff08;LLM&#xff09;虽强大却易因静态知识产生幻觉&#xff0c;检索增强生成&#xff08;RAG&#xff09;技术成破局关键。本文将解读R1-Searcher框架&#xff0c;看其如何通…

图神经网络原理及应用简介

图神经网络&#xff08;Graph Neural Networks, GNNs&#xff09;原理及应用 1. 图神经网络的基本概念 图神经网络是一种专门用于处理图结构数据的深度学习模型。图&#xff08;Graph&#xff09;由节点&#xff08;Node&#xff09;和边&#xff08;Edge&#xff09;组成&…

Unity 限制物体在Bounds 包围盒控制移动

我列举两种方式&#xff0c;其实最终都是涉及到包围盒使用问题。可以通过 Box Collider 的 bounds 属性来获取物体的包围盒&#xff08;Bounds&#xff09;也可以直接设置Bounds包围盒使用&#xff0c;从而限制其移动范围。不过需要注意&#xff0c;直接使用 Box Collider 的 s…