相关疑难解决方法(0)

如何在PHP中阻止SQL注入?

如果插入用户输入而不修改SQL查询,则应用程序容易受到SQL注入的攻击,如下例所示:

$unsafe_variable = $_POST['user_input']; 

mysql_query("INSERT INTO `table` (`column`) VALUES ('$unsafe_variable')");
Run Code Online (Sandbox Code Playgroud)

这是因为用户可以输入类似的内容value'); DROP TABLE table;--,查询变为:

INSERT INTO `table` (`column`) VALUES('value'); DROP TABLE table;--')
Run Code Online (Sandbox Code Playgroud)

可以采取哪些措施来防止这种情况发生?

php mysql sql security sql-injection

2776
推荐指数
28
解决办法
166万
查看次数

用PHP清理用户输入的最佳方法是什么?

是否有一个catchall函数适用于清理SQL注入和XSS攻击的用户输入,同时仍允许某些类型的html标记?

php security xss user-input sql-injection

1069
推荐指数
14
解决办法
50万
查看次数

什么是最好的PHP输入清理功能?

我正在尝试提出一个函数,我可以通过我的所有字符串来消毒.因此,从中输出的字符串对于数据库插入是安全的.但是那里有很多过滤功能我不知道应该使用/需要哪些功能.

请帮我填空:

function filterThis($string) {
    $string = mysql_real_escape_string($string);
    $string = htmlentities($string);
    etc...
    return $string;
}
Run Code Online (Sandbox Code Playgroud)

php sanitization filter

158
推荐指数
5
解决办法
16万
查看次数

转义PHP GET和POST值

可能重复:
最终的清洁/安全功能

我在另一个帖子中被告知这段代码非常无用:

function getPost($s) {
        if (array_key_exists($s, $_POST))
            return mysql_real_escape_string(htmlspecialchars($_POST[$s]));
        else return false;
    }


    function getGet($s) {
        if (array_key_exists($s, $_GET))
            return mysql_real_escape_string(htmlspecialchars($_GET[$s]));
        else return false;
    }
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助理解为什么以及如何让它更好吗?也欢迎链接或参考.

只是想要总是改进:)

php security post get

4
推荐指数
2
解决办法
2万
查看次数

PHP中的Clean&Safe字符串

可能的重复:
PHP:最终的清洁/安全功能用PHP 清理
用户输入的最佳方法是什么?

我应该在我的函数中添加什么来确保传递它的每个字符串都是"服务器友好的"?我使用这个小函数来检查包含名称,电子邮件地址和ID的输入.

   function checkInput($str) {
        $str = @strip_tags($str);
        $str = @stripslashes($str);
        $str = mysql_real_escape_string($str);
        return $str;
    }
Run Code Online (Sandbox Code Playgroud)

php string code-injection

3
推荐指数
1
解决办法
4万
查看次数

PHP $_GET 安全性、$_POST 安全性最佳实践

这是一个很好的主题,但我想在几种不同的情况下对使用来自用户变量的数据的方法进行一些确认。

  1. 该变量从不在数据库中使用,从不存储,仅在用户屏幕上显示。使用哪个函数来确保没有 html 或 javascript 可以搞砸?

  2. 该变量被引入数据库,并在 SQL 查询中使用。

  3. 变量两者兼而有之。

目前我是xss_clean,和strip_tags。我一直这样做,只是通过自动驾驶仪。有没有更好的技术?如果有相同的问题,请见谅。我有点假设有,虽然我找不到像这样彻底的。

干杯。

php security variables post get

3
推荐指数
1
解决办法
8633
查看次数

防止文本php中的html插入

当我输入文本时我有一个问题我可以用文本输入html.例如"我正在输入文本".现在,此链接在提交表单时显示为链接.有关如何防止这种情况的任何想法?

I am entering text <a href="xyz.com">Go to my site </a>. This is the input so when i output the data it comes out as I am entering text **Go to my site** with the hyperlink. 
Run Code Online (Sandbox Code Playgroud)

html php

1
推荐指数
1
解决办法
1535
查看次数

这对PHP中的用户输入是否足够安全

可能重复:
最终的清洁/安全功能

在阅读了PHP安全性之后,我觉得我编码的任何东西都是不安全的.因此,为了解决用户输入的安全问题,我创建了一个函数,允许我在任何使用情况下转义并删除用户输入.

我想知道这实际上是否安全,如果我能使它更安全.这会阻止什么样的攻击?从我可以通过使用_GET告诉XSS,HTML输入和MYSQL注入将被阻止?

function _INPUT($name,$tag,$sql,$url)
{
if ($_SERVER['REQUEST_METHOD'] == 'GET')
    $filter = ($_GET[$name]);//Assign GET to filter variable

    if ($tag == true)//Remove all HTML, PHP and JAVASCRIPT tags
    {
        $filter = strip_tags($filter);
    }
    if ($sql == true)//If MYSQL escaping is enabled
    {
        $filter = mysql_real_escape_string($filter);
    }
    if ($url == true)//If URL encoding is enabled
    {
        $filter = urlencode($filter);
    }
    return $filter;     

}

$output = _INPUT('name',true,true,true);
Run Code Online (Sandbox Code Playgroud)

我也将使用MYSQL的预处理语句,虽然我需要更多地阅读它们以完全理解它如何防止注入.

感谢您的时间.

php mysql security escaping input

1
推荐指数
1
解决办法
258
查看次数

防止SQL注入和XSS攻击

以下此功能是否能够阻止XSS攻击SQL注入

require_once('security.class.php');
function secure_data($data) {
    $data = mysql_real_escape_string($data);
    $filtered_data = filter_var($data, FILTER_SANITIZE_STRING);
    $secure_class = new security_class();
    $clean_data = $secure_class->xss_clean($filtered_data);         
    return $clean_data;
}
Run Code Online (Sandbox Code Playgroud)

安全类是笨.

php xss sql-injection codeigniter

0
推荐指数
1
解决办法
945
查看次数

在课堂上获取数组信息

我正在尝试使用外国支付系统,但在实施这个系统时遇到了困难.

我试图修改的类看起来像这样:

class MyShop extends Shop {
    var $currency = "EUR";
}
Run Code Online (Sandbox Code Playgroud)

我通过执行它

$myShop = new MyShop('user', 'pass', TRUE, TRUE);
$result = $myShop->pay();
Run Code Online (Sandbox Code Playgroud)

我现在的问题是:如何在这个类中从$ _POST获取变量?我试图以这种方式动态货币动态..

我已经尝试过这里发布的解决方案:如何从帖子中获取数据到类

但我想我在OOPhp失败了:/

不管怎么说,还是要谢谢你!

php php-5.3

-3
推荐指数
1
解决办法
56
查看次数