试图注入C:\WINDOWS\Explorer.EXE 晕了! 来帮我看看
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了试图注入C:\WINDOWS\Explorer.EXE 晕了! 来帮我看看相关的知识,希望对你有一定的参考价值。
检测到:风险软件 Invader 正在运行的进程 : C:\WINDOWS\Explorer.EXE
就是我才下载了一个封神榜国际版的游戏.... 点开始游戏后
卡巴就老跳出这个.. 试图注入C:\WINDOWS\Explorer.EXE
我点拒绝了. 但游戏不能玩了... 这个有事吗????
2007-10-16 20:34:14
C:\WINDOWS\Explorer.EXE 入侵进程: C:\WINDOWS\Explorer.EXE 进程ID(PID): 1572 进程入侵企图: C:\WINDOWS\System32\verclsid.exe 进程ID(PID): 3728
试图防止sql注入
【中文标题】试图防止sql注入【英文标题】:Trying to prevent sql injection 【发布时间】:2013-08-31 23:18:41 【问题描述】:我设置了一个下拉框,允许用户选择经济数据的要求。我试图通过使用 mysqli 来防止 sql 注入,但我没有运气。这是我的代码:
$gYear = $_POST["year"];
$gYear2 = $_POST["year2"];
$gMonth = $_POST["month"];
$gSelect = $_POST["location"];
switch($_POST['location'])
case "loc1":
$column = "Fayette";
break;
case "loc2":
$column = "Henry";
break;
case "loc3":
$column = "Randolph";
break;
case "loc4":
$column = "Rush";
break;
case "loc5":
$column = "Union";
break;
case "loc6":
$column = "Wayne";
break;
case "loc7":
$column = "INCounties";
break;
case "loc8":
$column = "Indiana";
break;
case "loc9":
$column = "Butler";
break;
case "loc10":
$column = "Darke";
break;
case "loc11":
$column = "Mercer";
break;
case "loc12":
$column = "Preble";
break;
case "loc13":
$column = "OHCounties";
break;
case "loc14":
$column = "Ohio";
break;
case "loc15":
$column = "US";
break;
$query = $conn->prepare("SELECT $column, Year, Month, FROM unemployed WHERE year BETWEEN ? AND ? and month= ?");
$query->bind_param('s', $gyear, $gYear2, $gMonth);
$query->execute();
$result = $query->get_result();
echo"<table>";
echo "<tr><th>Year</th><th>Month</th><th>$column</th></tr>";
while ($row = $result->fetch_assoc())
echo "<tr><td>";
echo $row->$column;
echo "</td><td>";
echo $row->Year;
echo "</td><td>";
echo $row->Month;
echo "</td></tr>";
$query->close();
echo "</table";
这对我不起作用。我已经坚持了一段时间。你知道我的代码的哪些部分有问题吗?我正在使用 PHP 5.3.26。任何帮助将不胜感激。
【问题讨论】:
bind_param('sss', $gyear, $gYear2, $gMonth);
你错过了两个ss
,你也可以使用array('loc1' => 'Fayette', ..
然后if(array_key_exists($_POST['location'], $array)) $column = $array[$_POST['location']]
伙计,我连滚动一次都累了。你的食指肯定整天疼
我必须创建一个数组吗?我不熟悉array_key_exists。
【参考方案1】:
试试这个:
$query = $conn->prepare("SELECT `".$column."`, `Year`, `Month` FROM `unemployed` WHERE `Year` BETWEEN ? AND ? AND `Month`= ?");
记得在列名和表名之前和之后添加反引号。此外,请记住将 cAsE 与它们在数据库中的显示方式相匹配。而且我还会将 BETWEEN 语法更改为或多或少的选项,因为我认为您可能在那里缺少括号。
WHERE `YEAR` > ? AND `YEAR` <= ? AND `Month` = ?
【讨论】:
为了防止 SQL 注入,您可以使用旧式 mysqli_real_escape_string(),虽然它在某些情况下可能会破坏您的代码并导致其停止工作,但它仍然可以很好地防止基本注入。以上是关于试图注入C:\WINDOWS\Explorer.EXE 晕了! 来帮我看看的主要内容,如果未能解决你的问题,请参考以下文章
启动maxthon时卡巴斯基老提示c:\WINDOWS\explorer.exe注入,是啥回事
windows下启动nginx为啥会有两个nginx.exe进程