Php 在网页代码中查找sql注入漏洞

Php 在网页代码中查找sql注入漏洞,php,html,security,code-injection,Php,Html,Security,Code Injection,有人能帮我识别漏洞并用这个解决它们吗?我今天早上发布了这个网站,但它不断遭到黑客攻击或其他事情,我对sql注入漏洞还不熟悉。有人能帮我找到它们吗 <?php //Variables for connecting to your database. //These variable values come from your hosting account. $hostname = "istheinternet.

有人能帮我识别漏洞并用这个解决它们吗?我今天早上发布了这个网站,但它不断遭到黑客攻击或其他事情,我对sql注入漏洞还不熟悉。有人能帮我找到它们吗

    <?php
            //Variables for connecting to your database.
            //These variable values come from your hosting account.
            $hostname = "istheinternet.db.10527209.hostedresource.com";
            $username = "istheinternet";
            $dbname = "istheinternet";

            //These variable values need to be changed by you before deploying
            $password = "**********";
            $usertable = "posts";
            $yourfield1 = "post";
            $yourfield2 = "time";

            //Connecting to your database
            mysql_connect($hostname, $username, $password) OR DIE ("Unable to 
            connect to database! Please try again later.");
            mysql_select_db($dbname);



           // Fetching from your database table.
            $query = "SELECT * FROM $usertable ORDER BY time DESC";
            $result = mysql_query($query);


            ?>
<html>
<meta name="viewport" content="width=device-width"/>
<meta http-equiv="Content-Language" content="English" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" type="text/css" href="style.css">
<head>
<img src="/istheinternetfuckingawesome/images/pageLogo.jpg">
<script type="text/javascript"><!--s
google_ad_client = "ca-pub-8924330365282159";
/* itifa header/footer */
google_ad_slot = "6694391056";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-40841654-1', 'istheinternetfuckingawesome.com');
  ga('send', 'pageview');

</script>
<meta http-equiv="Content-Script-Type" content="text/javascript">
<script type="text/JavaScript">
function valid(f) {
!(/^[A-z!., &#209;!., &#241;0-9]*$/i).test(f.value)?f.value = f.value.replace(/[^A-z!., &#209;!., &#241;0-9]/ig,''):null;
} 
</script>
</head>
<div class="breadcrumbs">
</div>
<body>
<div>
<h1>What makes your internet awesome?</h1>
<form id="blog_form" action ="thisfile.php"
method ="POST" enctype="multipart/form-data">
<textarea name="post" placeholder="Tell us what makes your internet awesome!" rows="15" cols="50" maxlength="300"  onkeyup="valid(this)" onblur="valid(this)"> </textarea></body></br>
<button type="submit"> Post</button>
<button type="reset"> Clear</button>
</form>
</div>


<span class="column1">
<h2> Stories</h2>

<?php while ($row = mysql_fetch_assoc($result))  
{
    echo $row["$yourfield2"].", ".$row["$yourfield1"]."<br/>\n"."<br/>\n"; 
}
?>
</span>
<span class="column2">
<div>
<center>
<p><Strong>Keep in mind all posts are final unless the website owner finds errors in formatting.</Strong></p
<p><Strong><Strong>Welcome Reddit users</Strong></Strong></p>
<p>Please note that any links and or images will not post sorry to ruin your fun!</p>
</center>
</div>
</span>

<span class="column3">


<script type="text/javascript"><!--
google_ad_client = "ca-pub-8924330365282159";
/* itifa */
google_ad_slot = "3372494652";
google_ad_width = 160;
google_ad_height = 600;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</span>

</body>

<footer>
</footer>
</html>

请看,下图,SQL注入是一个黑客或某人。。在表单中输入恶意代码,这样当PHP执行代码时,它会对数据库造成不良影响,例如删除/删除/更新数据/表

因此,在pictures案例中,我假设校长有一个PHP查询来更新他的表
Students
,现在,我假设,他可能有一个如下查询:

INSERT INTO Students (studentname) VALUE ('".$_POST['student_name']."');
现在,在
$\u POST['student\u name']
字段中,如果有人输入了
Robert');落桌学生然后,整个表将被删除/删除/丢失

要防止站点SQL注入,请从以下位置了解PDO:

编辑:

如果您需要快速帮助,请立即执行以下操作来清理您的输入:

$password = strip_tags(mysql_real_escape_string("**********"));
$usertable = strip_tags(mysql_real_escape_string("posts"));
$yourfield1 = strip_tags(mysql_real_escape_string("time"));
$yourfield2= strip_tags(mysql_real_escape_string("post")); 

请看,下图,SQL注入是一个黑客或某人。。在表单中输入恶意代码,这样当PHP执行代码时,它会对数据库造成不良影响,例如删除/删除/更新数据/表

因此,在pictures案例中,我假设校长有一个PHP查询来更新他的表
Students
,现在,我假设,他可能有一个如下查询:

INSERT INTO Students (studentname) VALUE ('".$_POST['student_name']."');
现在,在
$\u POST['student\u name']
字段中,如果有人输入了
Robert');落桌学生然后,整个表将被删除/删除/丢失

要防止站点SQL注入,请从以下位置了解PDO:

编辑:

如果您需要快速帮助,请立即执行以下操作来清理您的输入:

$password = strip_tags(mysql_real_escape_string("**********"));
$usertable = strip_tags(mysql_real_escape_string("posts"));
$yourfield1 = strip_tags(mysql_real_escape_string("time"));
$yourfield2= strip_tags(mysql_real_escape_string("post")); 

我用数据库提交类型页面更新了问题。你知道我哪里出错了吗?很抱歉,我对这些东西一无所知。@BTW:你为什么说,你一直被黑客攻击?你错过了一些数据吗?或者问题出在哪里?他们会在表单中添加脚本,使页面变得异常,这样他们就可以将信息插入数据库中,当信息发布到网站上时,会使页面看起来不一样。不!这仅用于文本。对于需要“上传”到您站点的图像/文件或任何内容,您应该使用谷歌搜索“PHP安全文件上传脚本”,因为这是另一个主题。但是,我给你的比你的脚本安全100倍,但是记住。。。它只检查文本输入,而不检查文件上传。你必须把它放在任何形式,任何人都会提交一个值,如果。因此,这意味着,如果有人要使用他的用户名登录,您必须执行
strip_标记(mysql_real_escape_string($\u POST['username'))
您不会在HTML文件中执行任何操作。就这样吧。您只能从PHP服务器端控制用户输入。你知道我哪里出错了吗?很抱歉,我对这些东西一无所知。@BTW:你为什么说,你一直被黑客攻击?你错过了一些数据吗?或者问题出在哪里?他们会在表单中添加脚本,使页面变得异常,这样他们就可以将信息插入数据库中,当信息发布到网站上时,会使页面看起来不一样。不!这仅用于文本。对于需要“上传”到您站点的图像/文件或任何内容,您应该使用谷歌搜索“PHP安全文件上传脚本”,因为这是另一个主题。但是,我给你的比你的脚本安全100倍,但是记住。。。它只检查文本输入,而不检查文件上传。你必须把它放在任何形式,任何人都会提交一个值,如果。因此,这意味着,如果有人要使用他的用户名登录,您必须执行
strip_标记(mysql_real_escape_string($\u POST['username'))
您不会在HTML文件中执行任何操作。就这样吧。您只能从PHP服务器端控制用户输入。