我正在为一个小项目使用codeigniter。我去做了一些测试,看看我对sql注入的保护程度。在获得奇怪的重定向后,我做了一个非常简单的应用程序,看看结果是否相同。它是。我在谈论什么我有这个观点:
<form action="/test" method="post">
<input type="text" name="d">
<input type="text" name="c">
<button type="submit">Sign in</button>
</form>
<?
if(isset($_POST['d'])) echo $_POST['d'];
echo '<br>';
if(isset($_POST['c'])) echo $_POST['c'];
?>
一个简单的控制器,它绑定了它的索引函数来加载这个视图。我在字段中的某些特定输入上得到了非常奇怪的行为。例如,如果我想在其中一个字段中点击1 = 1,则页面在我的项目之外转到404错误,提供给我使用的主机服务的站点。在输入上测试了一些类型。在第二个输入中,我可以键入任何内容。但首先,如果它像整数=整数那么它会变得疯狂。例如,1 = 1a就可以了。
答案 0 :(得分:0)
您可能在此处理SQL injection问题。您的托管服务可能有一些sql注入防护软件,可以生成404。
您是否使用填写的数据查询数据库? 如果您这样做,请确保escape the data。
您可以将任何内容填充到第二个字段中这一事实是因为您对数据进行哈希处理。
示例:
echo md5("1=1");//50347a3f14aea923e9f8eac867fd3bb1