今天早上有人给我发了电子邮件,告诉我他们访问了我的客户MySQL数据库,并提出用金钱来解决这个问题。我一直在对一个房地产上市网站做一些测试。该网站的设置方式,它现在有property.php?estateID=103和做property.php?estateID=103 union select 1,useraccounts(),3,4,5,6,7拉一个错误回FUNCTION database_table.useraccounts does not exist,我假设这就是帮助黑客获得对我的数据库的访问。我怎么才能阻止这一切?简单的消毒有帮助吗?数据库是MySQL 5.5。
我对测试非常陌生。我有一个存储书籍和书籍信息的网络应用程序。
如果我调用路由/store/,它会触发store方法,并在数据库中创建一本新书。以下是简化的方法:
Book.php类文件:
public function __construct() {
$this->bookService = new BookService();
}
public function store() {
$input = /* get post input values */
$this->createDatabaseEntry($input);
}
private funct
在你说之前:我知道密码应该被加密/散列,但我想先记下来:我有这个登录函数和一个SQL数据库。然而,登录功能似乎不起作用,我也不知道为什么。我可能错过了一些愚蠢的东西,但已经为这件事挣扎了一段时间了。任何帮助都将不胜感激!
注意:文件db_connect.php实际上只是与数据库的基本连接,没有什么问题,
FUNCTION.PHP:
<?
function login($username, $password, $con)
{
$myQuery = "SELECT * FROM Members WHERE Username = '$username&
所以我得做个网店。Is还没有真正起作用:( 我做了一个表单,用户可以选择他们的产品颜色,容量和他们想要的数量。所有这些信息我从数据库加载到选项中。(第一块代码)现在我想将选定的选项发送到数据库(用于订单),但由于某些原因变量是空的。因此,我的问题是如何检查选择了哪个选项,以及如何将所选选项的数据发送到数据库。 我尝试将SQL代码放入另一个文件中,并在该文件的表单中更改为action属性。我用SQL语句尝试了很多不同的东西,但我认为这不是问题所在。 <p class="title">Choose your capacity</p>
<form ac
在SELECT-Query中是否可以使用子查询修改数据库?相关数据库为mysql数据库。
更多细节:相关查询如下所示:
SELECT * FROM table WHERE id = $x
变量$x可以替换为任何内容。唯一的限制是,查询是通过php的mysql_query()执行的,这会阻止执行多个后续查询。在这种情况下,修改数据库将很容易,只需设置
$x = "42; DROP TABLE foo;"