php - 用户提交的链接 - 使用 PHP、MySQL 存储

标签 php mysql security

在我的应用程序中,用户可以提交链接。我想将链接的文本内容插入到我的 MySQL 数据库中,以便我可以进行进一步的索引和搜索。

我正在考虑使用PHP中的file_get_contents方法,然后将数据插入MySQL。这里有哪些安全隐患?或者这个任务流程是错误的,有一些特殊的模块可以完成这些类型的工作?

(我已经在使用PDO,但我之前可能没有明确表示我只想获取主要文本内容,不包括html中可能包含的css和javascript)

最佳答案

正如 BenM 所说,不要重新发明 Google。 但是,如果您决定的话,请注意以下几点:

  1. file_get_contents() 是获取 URL 内容的正确方法,您可以使用 stream_context_create() 创建其他上下文选项,以避免索引 404 或 500 链接并遵循永久重定向

  2. 当你得到你的代码时,你必须解析它,去掉不需要的部分并获取文本内容。 Here关于该特定主题的信息丰富的问题​​

  3. 您必须考虑传入内容的字符集。即使您尊重源代码声明的字符集,您也很容易陷入麻烦。 Here是有关该主题的另一个信息链接

  4. 最后,只有您遵循有关使用内置转义函数和准备好的语句数据转义的建议,您的数据才会以安全的方式最终存入数据库(参见PDOMysqli,不要使用旧的mysql接口(interface))。如果你错过了其中任何一个,你就要为造成的困惑负责。

希望这对您有帮助。

关于php - 用户提交的链接 - 使用 PHP、MySQL 存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15323007/

相关文章:

Drupal 7 安全实现

c# - 在 C# 中加密字符串并在 Delphi 中解密

PHP - 在 $_SESSION 超全局中存储任何内容是否安全?

php - 如何向 opencart 管理添加新模块?

php - 为什么 Codeigniter 使用 HMVC 而不是 MVC?

php - StartSession中间件清除验证错误

php - MySQL WHERE 变量

mysql - R批量上传数据到MYSQL数据库

php - Google GCM 服务器返回 404 错误

mysql - 将数据填充到具有 m :m Relationships 的表中