首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >条形斜杠安全测试

条形斜杠安全测试
EN

Stack Overflow用户
提问于 2013-04-07 10:21:50
回答 1查看 879关注 0票数 3

我正在测试使用stripslashes()有多安全

我尝试了以下几点:

代码语言:javascript
复制
  $str = chr(0xbf) . chr(0x27);

  var_dump(stripslashes($str)); // string(2) " �' "

然后我把它改成这个:

代码语言:javascript
复制
  $str = $_POST['input']; // %bf%27;

  var_dump(stripslashes($str)); // string(3) " �'' "

然后我使用curl发送input数据:

代码语言:javascript
复制
  curl_setopt($ch, CURLOPT_POSTFIELDS, 'input=' . chr(0xbf) . chr(0x27));

但结果是:string(3) " �'' "

是否有可能像在第一个例子中那样从另一个服务器接收数据时获得结果?使用stripslashes() 安全吗?

EN

回答 1

Stack Overflow用户

发布于 2013-04-07 17:01:50

你在这里问两个问题:

论条纹斜杠的安全性

stripslashes()实际上并不是一种处理输入的安全方法(我猜想,这会进入数据库)。涉及的变量太多,比如

  • 目标数据库系统
  • 数据库连接的编码
  • 容易出错的程序员错误

浅谈邮政数据的接收

尝试以下文件。它应该作为您正在调查的内容的基本测试用例。到目前为止,我还不能重现你描述的问题。

test.php

代码语言:javascript
复制
<html>
<head></head>
<body>
<form method="POST" action="test.php">
<input type="text" name="input"></input>
<input type="submit" value="Submit"></input>
</form>

<?php 

$string = chr(0xbf) . chr(0x27); // yields string '¿'' (length=2)
$input = $_POST['input'];

foreach (array($string, $input) as $s) {
  var_dump(stripslashes($s));
  var_dump($s);
}

?>
</html>

您得到的结果强烈地指向了一个编码问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15861296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档