首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

让PHP停止替换'.' $ _GET或$ _POST数组中的字符?

在PHP中,可以使用urlencode()urldecode()函数来处理URL中的特殊字符。urlencode()函数将字符串编码为可在URL中传输的格式,而urldecode()函数将URL编码的字符串解码为原始字符串。

如果您想在PHP中停止替换.字符,可以使用urlencode()函数将.字符转换为%2E,然后在需要使用该字符串时使用urldecode()函数将其解码为原始字符串。

例如,如果您想在URL中传递一个包含.的字符串,可以使用以下代码:

代码语言:php
复制
$url = "http://example.com/?data=" . urlencode($data);

在接收到URL中的数据时,可以使用以下代码将其解码为原始字符串:

代码语言:php
复制
$data = urldecode($_GET['data']);

这样,PHP就不会将.字符替换为_字符。

需要注意的是,这种方法只适用于URL中的特殊字符,不适用于$_GET$_POST数组中的其他字符。如果需要在这些数组中传递特殊字符,建议使用其他方法,例如使用表单提交数据或使用AJAX传输数据。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

PHPPOSTGET区别

HTML5学堂:在JavaScript当中,存在“getpost方法区别”这一辨析知识。其实getpost是向服务器端请求/提交数据两种方式。...对于PHP语言,也同样存在着这样两种方法,对于不同提交方式,也会有两个不同全局变量来接收数据。...$_POST和$_GET有何作用 PHP中有$_POST和$_GET两个超级全局变量,两个都可以用作向服务器发送请求,但是这两者有一些区别。...来整体总结一下: POST:用于向服务器发送数据,从而以某种方式导致服务器上状态改变,如在数据库插入数据。数据还可以在响应返回。...对于少量数据,GET非常有用,可以直接在URL向服务器发送数据。与POST另一个不同之处在于GET适用于发送少量数据。

1.7K50
  • PHP面试题:HTTPPOSTGET、PUT、DELETE方式区别

    HTTP定义了与服务器交互不同方法,最基本POSTGET、PUT、DELETE,与其比不可少URL全称是资源描述符,我们可以这样理解:url描述了一个网络上资源,而postget、put...get是把参数数据队列加到提交表单action属性所指url,值和表单内各个字段一一对应,从url可以看到;post是通过HTTPPOST机制,将表单内各个字段与其内容防止在HTMLhead中一起传送到...action属性所指url地址,用户看不到这个过程 对于get方式,服务器端用Request.QueryString获取变量值,对于post方式,服务器端用Request.Form获取提交数据...get传送数据量较小,post传送数据量较大,一般被默认不受限制,但在理论上,IIS4最大量为80kb,IIS5为1000k,get安全性非常低,post安全性较高 GET请求会向数据库发索取数据请求...POST请求同PUT请求类似,都是向服务器端发送数据,但是该请求会改变数据种类等资源,就像数据库insert操作一样,会创建新内容。几乎目前所有的提交操作都是用POST请求

    62120

    如何将字符字符替换为给定字符串?php strtr()函数怎么用?

    如何将字符字符替换为给定字符串? strtr()函数是PHP内置函数,用于将字符字符替换为给定字符串。...该函数返回已转换字符串;如果from和to参数长度不同,则会被格式化为最短长度;如果array参数包含一个空字符键名,则返回FALSE。 php strtr()函数怎么用?...规定要转换字符串。 ● from:必需(除非使用数组)。规定要改变字符字符串)。 ● to:必需(除非使用数组)。规定要改变为字符字符串)。...一个数组,其中键名是原始字符,键值是目标字符。 返回值 返回已转换字符串。...如果 from 和 to 参数长度不同,则会被格式化为最短长度;如果 array 参数包含一个空字符串("")键名,则返回 FALSE。

    5.2K70

    php一句话木马变形技巧

    如果把木马post替换get,那么我么就需要以GET方法发送“a”, 使用 其他函数制作一句话木马 1.assert函数 这个函数原本是利用正则表达式替换符合条件字符串,但是这个函数有一个功能——可执行命令。 这个函数第一个参数是正则表达式,按照PHP格式,表达式在两个“/”之间。...php $a=str_replace("Waldo", "", "eWaldoval"); $a(@$_POST['a']); ?> 函数功能:在第三个参数,查找第一个参数,并替换成第二个参数。...>标签 @eval_r($_GET[b]) 7.3利用session 8.字符替换特殊编码 9.木马藏匿 1.404页面 2.图片木马...,用文件包含调用 四、总结 绕过技巧: 更换执行数据来源 字符替换或者编码 采取隐匿手段 tips:使用一句话木马时候可以在函数前加”@”符,这个符号php语句不显示错误信息,增加隐蔽性。

    3.3K20

    LFI-Labs 完整训练

    > array_key_exists() 函数原本应该接收两个参数,作用是判断数组是否存在对应键,然而源码只提供了一个从 Cookie 处获取参数,并未提供最重要数组,而要修改文件包含参数就很有必要使该函数返回真值...读取文本就需要使用到伪协议了,就像平常通过 http 协议 ftp 协议直接使用 URL 对目标进行访问一样,PHP 也支持一些带有 URL 风格封装协议。...这里以 php://input 以及 data:// 为例,他们都可以直接将自己所带入数据流当作读取到数据流,其中 php://input 数据放在数据包POST 方式提交,而 data:/.../HDR-1/blue.php/. 即可得到如下页面。 图片 那么新问题就来了,前面说过 file_get_contents() 返回应该是一个字符串,这页面都蓝了岂不是直接执行了。...相对,如果包含内容是普通文本(不含任何 HTML 标签其他关键字符),则会在浏览器中直接输出。 值得注意是,源码屏蔽PHP 脚本文件,所以我们目标也就是读取 PHP 脚本文件。

    2.6K30

    PHP第二节

    字符串函数 str_replace(查找值,替换值,执行替换操作字符) 字符替换 trim(字符串); 去除字符串首尾处空白字符 explode(分割符,执行分割字符串)...想要提交表单,不能使用input:button 必须使用input:submit php获取表单数据 // $_GETPHP 系统提供一个超全局变量,是一个数组,里面存放了表单通过get方式提交数据...// $_POSTPHP 系统提供一个超全局变量,是一个数组,里面存放了表单通过post方式提交数据。...getpost区别 //1. get方式 //1.1 数据会拼接在url地址后面?...username=pp&password=123456 //1.2 地址栏有长度限制,因此get方式提交数据大小不会超过4k //2. post方式 //2.1 数据不会在url显示,相比get方式,

    1.4K30

    爬虫+反爬虫+js代码混淆

    A. echo B. sprintf C. printf 答案:B 在PHP ,’+‘操作符功能不包括: A. 字符串连接 B. 数组数据合并 C....01 到 12 G 小时,24 小时格式,没有前导零 0 到 23 g 小时,12 小时格式,没有前导零 1 到 12 字符串转数组数组字符串,字符串截取,字符替换字符串查找函数分别是什么?...`部分, 以`replacement`进行替换(支持字符字符数组字符串查找: - strpos ( string $haystack , mixed $needle [, int $...create index index_age on user(age) html表单GETPOST提交方法区别是?...get通过URL传递参数安全性低,post通过request body传递参数相对比较安全 get最多传2K左右数据,post无限制(php.ini可配置) get是向服务器发索取数据一种请求,而post

    12.3K20

    2024全网最全面及最新且最为详细网络安全技巧四 之 sql注入以及mysql绕过技巧 (3)———— 作者:LJS

    ,则递归地对数组每个元素调用 dhtmlspecialchars() 函数, 如果输入 $string 是字符串,则使用 str_replace() 函数将 &, ", , (, ) 等特殊字符替换为它们...safe.inc.php替换一些敏感字符,比如、(、)等。 但我在safe.inc.php里找到了如下一段代码(在替换之前): $request_uri = explode("?"...对数组每个字符串,再用=分成0和1,最后填入到$_REQUEST数组:$_REQUEST[$_value[0]] = dhtmlspecialchars(addslashes($_value[1]...按道理来说并没有什么大错误,但试想:这个过程是在我们第一道WAF之后进行,假设我们有一个方法第一道WAF认为请求没有恶意字符,再通过这里覆盖,将恶意字符引入$_REQUEST,就可以造成WAF...那么有什么办法第一道WAF认为请求没有恶意字符?这其实是个很难问题,因为WAF会检测所有请求数组,只要有一个数组值存在问题,就直接退出。

    8110

    PHP在CTF应用场景

    PHP常用函数 strpos("1","2")在1查找二并返回索引false str_replace("1","2","3")在3找1并替换为2 define()定义大小写不敏感常量 !...>"; array() count() 函数用于返回数组长度(元素数 htmlspecialchars() 函数把特殊字符转换为 HTML 实体 (通过 PHP trim() 函数)去除用户输入数据不必要字符...(多余空格、制表符、换行) (通过 PHP stripslashes() 函数)删除用户输入数据反斜杠(\) 这些超全局变量是: $GLOBALS $_SERVER $_REQUEST...$_POST $_GET $_FILES $_ENV $_COOKIE $_SESSION include 和 require 语句是相同,除了错误处理方面 require 会生成致命错误(E_COMPILE_ERROR...php中所有用户自定义函数类和关键词(if else echo)不区分大小写但是变量大小写敏感php is_numeric()绕过 [判断是否为数字数字字符串]用url编码字符%00%20进行绕过

    12510

    PHP木马免杀一些总结

    也可以使用_GET或者 相同功能函数替换 一般WAF查杀,就是检查关键字,而eval上文说过不够灵活,这里可以替换成assert,assert函数PHP手册解释是: assert() 回调函数在构建自动测试套件时候尤其有用...当信息能够被其他方法捕获,使用断言可以它更快更方便! 而我们光替换还是远远不够,还是无法逃过WAF查杀,这样就需要变形了,所以第二种方法字符串变形。绕安全狗比较靠谱,因为安全狗更注重形。...convert_uuencode() #使用 uuencode 编码一个字符串。 ucwords() #函数把字符每个单词字符转换为大写。...substr_replace() #函数把字符一部分替换为另一个字符串 substr() #函数返回字符一部分。 strtr() #函数转换字符特定字符。...php $a = $_POST['a']; $b = "\n"; eval($b.=$a); ?> 数组绕过 可以把代码放入数组,执行绕过: <?

    2.7K10

    CTFshow之web入门---PHP特性上

    我们可以参考官方文档 **preg_match()返回 pattern 匹配次数。 它值将是0次(不匹配)1次,因为preg_match()**在第一次匹配后 将会停止搜索。...由于参与匹配字符串内容,我们可以构造非字符串也就是数组内容?...: 如果 base 是 0,通过检测 var 格式来决定使用进制:#如果字符串包括了 “0x” ( “0X”) 前缀,使用 16 进制 (hex);否则,#如果字符串以 “0” 开始,使用 8...> 这里是三目运算符和取地址, 根据第一条可知,如果get传了一个值,那么就可以用post覆盖get值。...; foreach($_GET as $key => $value){ #get是一个预定义数组,此处将get数据按照键值对取出 if($key==='error'){ #key

    25410
    领券