首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP:网站被黑客入侵

PHP:网站被黑客入侵
EN

Stack Overflow用户
提问于 2013-05-29 23:06:45
回答 3查看 422关注 0票数 0

我目前正在为一个数据库课程项目开发一个PHP/HTML的web界面。

基本上,有一个输入字段:

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">

这允许一个人在我的数据库中搜索东西。

昨天晚上,在上传了我的新index.php后,我刷新了页面,发现(我以为是)某种注入,因为我的页面充满了垃圾邮件("YO MAMAYO MAMA等")。

我使用"htmlspecialchars()“php函数保护表单。再一次,我10分钟前刚刚上传了新的index.php,页面在我刷新后立即充满了"YO MAMA“。

有人对此有什么想法吗?我如何检查/保护我的页面?

谢谢

编辑:表单代码如下:

代码语言:javascript
复制
<div id="searchbox"> 
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
   Query database : <input type="text" id="field" name="query">
<input type="submit" name="submit" value="Search!">
</form> 
</div>

我刚刚得到了如下保证:

代码语言:javascript
复制
if(isset($_POST['query']) && !empty($_POST['query'])) {
    $param = htmlspecialchars($_POST['query'], ENT_QUOTES);
...

我可以输入任何东西,目标是搜索人员或事件等。我只有一个数据库类文件,我包括在我的index.php

EDIT2 : Sql查询如下:

代码语言:javascript
复制
SELECT p.idParticipant As id, a.name AS name, c.countryName AS country,
count(g.idGame) AS countGames 
FROM Athlete a, Country c, Game g, Participant p, Event e
WHERE a.idAthlete = p.fkAthlete 
AND p.fkCountry = c.idCountry 
AND p.fkGame = g.idGame
AND g.idGame = e.fkGame 
AND a.name LIKE '%$param%' 
GROUP BY a.name 
ORDER BY a.name;
EN

回答 3

Stack Overflow用户

发布于 2013-05-29 23:29:59

除了使用real_escape_string函数(使用mysqli或PDO)外,我还会更改FTP密码和数据库用户和密码。

票数 2
EN

Stack Overflow用户

发布于 2013-05-30 00:01:42

你输入的白名单,让我们说如果只允许字符串,使用is_string()验证。

票数 0
EN

Stack Overflow用户

发布于 2013-05-29 23:24:38

使用PDOparameterized queries。通过连接输入来停止创建查询。

并停止使用mysql_*函数集。现在就来。每次你在php源文件中输入它,$deity就会杀死一只小猫。请停止这场屠杀。

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

https://stackoverflow.com/questions/16817530

复制
相关文章

相似问题

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