继承的代码使用Pear的MDB2 - 保持安全吗?

时间:2013-12-02 14:20:10

标签: php mysql pdo mdb2

我刚刚获得了一个庞大的PHP网站,它使用Pear的MDB2来处理所有MySQL命令(但显然不会将Pear用于其他任何事情 - 至少不是我能看到的)。

我收到的数百个网页上都堆满了这样的代码:

<body>
<h1>Admin</h1>
<?php
// Deal with acceditations
$CountAccreds = $mdb2->queryOne("SELECT COUNT(*) FROM enquiries WHERE Disputed = 1");
if($CountAccreds > 0)
{
echo "<blockquote><p><span style='color:red'>Disputed Enquiries</span> - There are currently $CountAccreds disputed enquiries requiring attention.";
echo "</blockquote>";
}
//
?>
...

颤抖

没有分离。没有课程。没有功能/方法。这对我来说看起来都是非常糟糕的做法 - 特别是对于像这样一个复杂的网站 - 但我不确定梨的使用有多糟糕

最重要的是,根据我所做的研究,在我看来a)MDB2被认为是过时的b)鉴于本网站不需要以任何方式移植,在这种情况下它是无意义。 (PDO启动可能更安全吗?)

有没有什么好理由不将MDB2从我未想到的项目中剥离出来?或者,如果我不打算重构代码,并使用PDO将所有内容都放入类和/或函数中,我应该保留原样吗?

换句话说:让MDB2使用到位有多危险/不良做法?

1 个答案:

答案 0 :(得分:2)

这是有效的代码。保持原样。

MDB2没有已知的安全问题,因此使用它并不危险。

此外,MDB2只是一个像PDO一样的数据库抽象层(它实际上提供了比PDO更多的抽象)。不要将库与其用法混淆。