5个php好习惯
PHP 是领先的技术之一,曾数次注定消亡,但最终成功登上榜首。既然它已经覆盖了 80% 的网络,为什么不尝试呢?那么,您准备好探索或掌握一些最广泛使用的 PHP 习惯了吗?所以,事不宜迟,让我们开始吧!
1 维护正确的代码文档
在进行任何 PHP Web 开发或任何其他项目时,维护正确的代码文档是首要的做法。一些新手、初学者,甚至经验丰富的程序员都无法理解维护正确文档的重要性。这样做的常见原因之一是他们太懒或过于自信。
相反,经验丰富的 PHP 开发人员或长期从事该技术行业的资深人士承认,他们花在阅读代码上的时间比开发代码的时间多得多。可以是他们代码的先前版本,评估别人的书面文档等。因此正确记录这些方面非常重要。
例如,您在特定项目中合并了一些关键或复杂的功能;我相信你会记住一两天,但是之后呢?五年后你还记得吗?当然不是!写下或记录下所有内容是需要考虑的好习惯。此外,加入适当的注释以确保您的代码易于理解,不仅对于您而且对于其他的 PHP 开发人员也是如此。
2 PHP 短标签是一个大禁忌!
精通 PHP 的人一定非常了解它的基本原理。使用不同的标签来防止Web开发项目受到其他漏洞的影响。
许多 PHP 开发人员正在寻找不同的快捷方式来使用短标签(例如“”)来声明 PHP。或“<%”。我不知道为什么,但这不是一个好的 PHP 习惯。它并不会让你的代码看起来更专业。如果您一直这样做,请立即停止,因为您这样做可能会导致与 XML 解析器发生冲突。更糟糕的是,您的代码与所有未来或即将发布的 PHP 版本都不兼容。
3 您是否使用可逆加密来存储密码?
如果是这样,那么我是时候让您知道可逆加密是有害的了。首先,它很容易破解和解密。因此,当您尝试使用可逆加密时,您所做的只是让您的数据越来越容易受到坏人的攻击,从而增加了泄露和泄露的可能性。当您使用可逆加密时,情况会有所不同。由于加密和解密过程最终会留下清晰的活动痕迹,因此其他人很容易监视或监视您的所有活动。更糟糕的是,所有其他用户密码都可以立即枚举出来。
确切需要做的是使用强大的哈希算法(例如 bcrypt 或 Argonaut)对密码进行哈希处理。您会看到,准备好输出并保留所有此类算法,比加密算法更不容易受到攻击。因此,您可以在很大程度上保护您的密码,不仅是您的密码,所有敏感数据都可以得到很好的保护。此外,与可逆算法或加密算法相比,散列算法速度更快。如果速度对您来说至关重要,那么哈希算法就是您的最佳选择。
4 在循环内使用函数是禁忌!
下一个要考虑的好习惯是永远不要在循环内使用函数。如果你也这样做,请立即停止!在某种程度上,这样做会在性能方面做出妥协。在循环内使用函数是一种很好的做法,但要取决于具体情况。
假设该指令集打开一个1000万行的数据库表,则:
坏循环示例
int count = GetFullCountFromSomewhere();
for (int i = 0 i < count; i++) {
GetMyRow(i);
WriteMyRow(i);
}
function GetMyRow(i) {
Table table = new Table();
table.Fill(someConnection);
Row row = table.Rows[i];
return row;
}
良好循环的示例
Table table = GetMyTable()
for (int i = 0 i < table.Rows.count; i++) {
WriteMyRow(table.Rows[i]);
}
function GetMyTable(i) {
Table table = new Table();
table.Fill(someConnection);
return table;
}
上面的例子好好看看,可以节省充足的执行时间。
5 加强 PHP 安全性的习惯
最后但同样重要的一点是,PHP 的好习惯是永远不要依赖 cookie,特别是在涉及安全目的时。cookie主要被认为是存储有关用户的信息。您可能会问什么类型的信息?它可以是任何内容,从登录状态到用户名、首选项和其他敏感或机密信息。现在,您认为 cookie 安全吗?一点也不。他们很容易受到损害。
除了 cookie 之外,还必须考虑限制对敏感文件的访问。由于每天都会发生安全漏洞,因此应该有一组特定的文件,例如配置文件、数据库凭据或源代码文件,必须仅限于受信任的用户使用。通过限制他们的访问,可以采取多种预防措施,并可以避免敏感信息落入坏人之手。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341