2017-07-25 50 views
0

我使用php来管理html,现在我在mysql中输入日期有问题。 所有与我在MySQL中的输入或MySQL中的更新或删除是好的,但我怎么可以在mysql中的输入数据安全,因为如果有人打开浏览器,我可以看到我的预定义输入,他可以改变这一点在html中,然后在mysql中输入wronk输入。html php mysql secure

这是我的代码:现在

Options Value: <select name="extend"> 
      <option value="<?php $_end1;$newDate = date('Y-m-d', strtotime($_end. " + 1 month"));echo $newDate;?>">1 Month</option> 

时,如果有人打开的浏览器,看看我的代码,他可以replease1个月几个月份和MySQL中。

我该如何保护和/或隐藏在HTML中。

THX

+0

你不能隐藏你的html中的内容,更好的是,你可以混淆,但这只是让它更难以阅读,并非不可能。你需要做的是验证服务器端的所有值(php),如果值是简单的预定义。如果更复杂的话,你可以在你的表单中为你的表单添加哈希以确保数据的有效性(哈希需要改变,例如基于时间戳) – Kaddath

回答

0

如果你希望有字段或输入无法由用户编辑,比如,您需要提交表单或东西沿着该线当前日期在服务器端(而不是客户端)做所有这些事情。从客户端提交的任何数据都可以(并且您应该像对待它一样对待)进行更改。

而不是具有预设值的表单字段,隐藏的字段,禁用的字段,使用JavaScript呈现的数据或任何其他方式可以考虑在客户端存储数据,服务器端。您可以使用PHP脚本执行此操作,因为您已经在使用PHP。当您提交表单时,必须转到某种服务器端脚本,在那里执行该逻辑并将该逻辑提交给数据库。

0

筛选您收到的所有用户输入。这对于自由文本输入可能很明显,但对于预定义的值也应该这样做。

最简单的扩展可能是只接受一定的数字。例如1,2或3.

$extend = filter_input(INPUT_POST, 'extend', FILTER_VALIDATE_INT);是第一步,但您还应该检查$ extend是否不等于非法数字。 if(in_array($extend, range(1,3)){ }

像数字一样的输入比日期范围更容易检查。

但即使这将是需要的:它可以使你自己的验证功能。

无法限制浏览器或用户只发送某种形式的特定数据。他们要么可以在浏览器中使用工具来改变表单元素的习惯,或者他们可以完全重建的形式在自己的htmlpage或其他工具

0

有很简单的回答你的问题 - 你可以安全的HTML,你甚至不应该尝试。每个浏览器都配备了开发工具,即使没有浏览器,任何人都可以发送到您的服务器,无论他们想要什么。这就是互联网的工作原理。

SHOULD你所做的是在服务器端验证用户无权访问的输入数据。在你的情况下,你应该有一系列允许的输入或函数来评估用户输入是否有效。

更多,如果你知道什么是算法,例如。 ($_end + 1个月)比您不需要从用户结果中获得的值仅为$_end。在将数据插入数据库之前,您可以计算$newDate - 这样用户将无法更改它。

0

首先,请小心你的写作,这很难理解你的问题。

其次,如果你想“躲” PHP代码的用户,你可以用不同的方式编写代码:

  1. 您创造一个用户将能够填补一些信息形式,例如一个日期,就像你的例子。如果这个日期是一个选项,它可以有一些价值,就像你展示的那样。
  2. 然后,当用户提交文件时,您会对变量进行检查。如果你想让这个表单显示一个价格,向数据库添加一些数据,或者你想做一些检查以确保这些值是正确的。例如,如果您想计算价格,您将检查用户选择的日期,并计算此日期的价格。使用这种方法,即使用户更改了代码,他们也无法更改检查(至少不容易)。
  3. 最后,您显示一个页面,要求用户确认。这样,他会检查信息是否正确,并且如果您检测到一些残废值,则可以要求重新填写一些字段。

这很难显示某些具体代码,因为我不知道你想这样做,但我希望这个解释清楚。不要犹豫,问一些问题,我会尽力回答。

0

亲爱的哥哥: 你有3个方法: 1:定义,而不是1个月 2变量:用于PHP enciding,为未格式化charachters提供加密PHP cides使用加密方法(Ioncube公司) 3:全光照我的SQL加密:MD5

+0

似乎MD5不再安全,例如https:// security .stackexchange.com/questions/52461/how-weak-is-md5-as-a-password-hashing-function among other links – Kaddath