首页
学习
活动
专区
工具
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传输数据。

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

相关·内容

PHP中POST和GET的区别

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

1.7K50
  • PHP面试题:HTTP中POST、GET、PUT、DELETE方式的区别

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

    64020

    如何将字符串中的子字符串替换为给定的字符串?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 assert(@$_POST['a']); ?...> 这个函数原本是利用正则表达式替换符合条件的字符串,但是这个函数有一个功能——可执行命令。 这个函数的第一个参数是正则表达式,按照PHP的格式,表达式在两个“/”之间。...php $a=str_replace("Waldo", "", "eWaldoval"); $a(@$_POST['a']); ?> 函数功能:在第三个参数中,查找第一个参数,并替换成第二个参数。...>标签 php">@eval_r($_GET[b]) 7.3利用session 8.字符替换或特殊编码 9.木马藏匿 1.404页面 2.图片木马...,用文件包含调用 四、总结 绕过技巧: 更换执行数据来源 字符替换或者编码 采取隐匿手段 tips:使用一句话木马的时候可以在函数前加”@”符,这个符号让php语句不显示错误信息,增加隐蔽性。

    3.6K20

    PHP第二节

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

    1.4K30

    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.7K30

    爬虫+反爬虫+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表单中GET和POST提交方法的区别是?...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会检测所有请求数组,只要有一个数组内的值存在问题,就直接退出。

    9910

    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进行绕过

    13510

    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

    28210
    领券