标签 php 下的文章 - Welcome to - 小枫的Blog
子辰API
子辰聊天室
热门文章
关于图片问题
hello world!
如何给自己的网站添加免费SSL?
换了新图床
XSS漏洞原理、分类、危害及防御
标签搜索
网站前端
闲聊杂谈
网站美化
php
网站后端
更新
网站安全
广告
typecho
子辰在线聊天室
发布
登录
注册
找到
5
篇与
php
相关的结果
2024-08-14
PHP获取用户IP
在现代Web开发中,获取用户的真实IP地址对于日志记录、安全审查以及基于地理位置的服务至关重要。然而,由于代理服务器和CDN的存在,直接使用 $_SERVER['REMOTE_ADDR'] 可能无法获取到准确的IP地址。本文介绍了一种通过检查 HTTP_CLIENT_IP、HTTP_X_FORWARDED_FOR 和 REMOTE_ADDR,并使用 filter_var 进行验证的方法,帮助开发者精准获取用户的真实IP地址。
网站前后端
# php
# 网站前端
小枫_QWQ
8月14日
0
23
1
2024-06-24
php的三元运算符?:和??
(expr1) ? (expr2) : (expr3) : 表达式 (expr1) ? (expr2) : (expr3) 在 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。 其中false的值的判断跟 if (expr1)一样,包括空字符串 '' false 为空empty null 0 0.0 ‘0’ 例子: $a = $a ? $a : 1;(expr1) ? :(expr2) :这个是php5.3开始才有的功能 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr2。 例子 $a = $a ?: 1;它等价于1的例子 (expr1) ? ?(expr2) :这个是php7才有的功能 它等价于 $a = isset(expr1) ? expr1 : expr2 $b = isset($a) ? $a : 1; 原文链接:https://blog.csdn.net/qq_29763583/article/details/81131985
网站前后端
# php
小枫_QWQ
6月24日
0
19
0
2023-09-14
PHP PDO 中bindParam和bindValue区别
在 PHP PDO(PHP Data Objects)中,bindParam 和 bindValue 是用于绑定参数的两个方法。
网站前后端
# php
# 网站后端
小枫_QWQ
1年前
0
19
1
2023-07-24
留言墙功能模块-文本过滤函数
代码功能解析:脏话处理函数 在开发网络应用程序或社交平台时,处理用户输入是一项重要的任务。而在处理用户输入时,经常会遇到包含一些不当言辞或敏感词汇的情况。为了维护良好的用户体验和网络环境,我们需要对这些不当言辞进行过滤和替换。 下面的代码段是一个简单的文本处理函数,它通过读取当前目录的bad_words.txt文件。 function filter_bad_words($input) { //1. $filename = 'bad_words.txt'; //2. $bad_words = file($filename, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); //3. $filtered_input = $input; //4. foreach ($bad_words as $bad_word) { $replacement = str_repeat('*', mb_strlen($bad_word, 'UTF-8')); //5. $filtered_input = str_ireplace($bad_word, $replacement, $filtered_input); //6. } return $filtered_input; //7. }1.首先,函数定义了一个名为 filter_bad_words 的方法,该方法接受一个字符串类型的参数 $input,即用户输入的内容。 2.接下来,函数内部声明了一个变量 $filename,用于存储存储不当言辞列表的文件的路径。文件名为 bad_words.txt,你可以根据实际情况修改此变量以指向正确的文件路径。 3.使用 file 函数,代码将读取存储在 bad_words.txt 文件中的不当言辞,并将其存储在变量 $bad_words 中。FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES 标记告诉 file 函数忽略文件中的换行符和空行。 4.接下来,代码初始化了一个变量 $filtered_input,并将其赋值为用户输入 $input。该变量将用于存储经过过滤后的用户输入内容。 5.函数使用循环遍历 $bad_words 数组,并对每个不当言辞进行处理。在循环体内,代码使用 str_repeat 函数生成一个与不当言辞长度相同的由星号组成的字符串 $replacement,用于替换不当言辞,这里的 * 可以替换为其他字符但是我建议是*。 6.最后,代码使用 str_ireplace 函数将 $bad_word 替换为 $replacement,并更新 $filtered_input 的值。这里使用了 str_ireplace 函数来实现不区分大小写的替换。 7.循环结束后,函数将返回经过脏话过滤后的 $filtered_input 变量作为结果。 该函数实现了简单而有效的文本过滤功能,可以帮助网站或应用程序自动识别和屏蔽用户输入中的不当言辞,提升用户体验和网络环境的健康度。当然,为了保持过滤列表的有效性,我们需要定期更新存储不当言辞的文件。同时,该函数也可以根据实际需求进行扩展和优化,以满足更复杂的过滤需求。
网站前后端
# php
# 网站后端
小枫_QWQ
1年前
0
13
2
2023-05-06
XSS漏洞原理、分类、危害及防御
一、XSS简介 XSS全称:跨站脚本(Cross Site Scripting) ,为了不和层叠样式表(Cascading Style Sheets)的缩写CSS混合,所以改名为XSS;攻击者会向web页面(input表单、URL、留言版等位置)插入恶意JavaScript代码,导致管理员/用户访问时触发,从而达到攻击者的目的。 二、XSS原理 服务器对用户提交的数据过滤不严,导致浏览器把用户的输入当成了JS代码并直接返回给客户端执行,从而实现对客户端的攻击目的。 三、XSS分类 1、反射型(非持久型) 反射型XSS,又称非持久型XSS,攻击相对于受害者而言是一次性的,具体表现在受害者点击了含有的恶意JavaScript脚本的url,恶意代码并没有保存在目标网站,而Web应用程序只是不加处理的把该恶意脚本“反射”回受害者的浏览器而使受害者的浏览器执行相应的脚本。 反射型(非持久型)图片 2、存储型(持久型) 存储型XSS是指应用程序通过Web请求获取不可信赖的数据,在未检验数据是否存在XSS代码的情况下,便将其存入数据库。当下一次从数据库中获取该数据时程序也未对其进行过滤,页面再次执行XSS代码持续攻击用户。存储型XSS漏洞大多出现在留言板、评论区,用户提交了包含XSS代码的留言到数据库,当目标用户查询留言时,那些留言的内容会从服务器解析之后加载出来。 存储型(持久型)图片 存储型(持久型)图片 3、DOM型(非持久型) DOM,全称Document Object Model,是一个平台和语言都中立的接口,可以使程序和脚本能够动态访问和更新文档的内容、结构以及样式,DOM-XSS简单理解就是不与后台服务器产生数据交互,是一种通过DOM操作前端代码输出的时候产生的问题。 DOM型(非持久型)图片 DOM型(非持久型)图片 四、XSS漏洞的危害 1.窃取用户Cookie 2.后台增删改文章 3.XSS钓鱼攻击 4.利用XSS漏洞进行传播和修改网页代码 5.XSS蠕虫攻击 6.网站重定向 7.获取键盘记录 8.获取用户信息等 五、XSS漏洞防御 1、对输入和URL参数进行过滤(白名单和黑名单) 检查用户输入的数据中是否包含一些特殊字符,如<、>、’、“等,发现存在特殊字符,将这些特殊字符过滤或者编码。 2、HTML实体编码 字符串js编码转换成实体html编码的方法(防范XSS攻击) https://www.cnblogs.com/dearxinli/p/5466286.html 3、对输出内容进行编码 在变量输出到HTML页面时,可以使用编码或转义的方式来防御XSS攻击。 4、对于typecho的 关闭评论 下载Typecho AntiXSS Plugin 下载地址:https://github.com/BakaLabs/Typecho-1.2-AntiXSS 提取码: 负责声明 部分图片转载自https://jingyan.baidu.com/article/495ba841a771f538b30ede82.html,版权归原网站或作者本人所有,若有无意侵权或转载不当之处请联系我处理,谢谢合作!
网站前后端
# 网站安全
# php
# 网站前端
# 网站后端
小枫_QWQ
1年前
0
38
1
易航博客