我想看看我从数据库中读取的时间是否与用户提供的时间重叠.
我的数据库看起来像这样:
-----------------------------------------------
|organiser|meeting_start|meeting_end|boardroom|
-----------------------------------------------
| John Doe| 1340193600 | 1340195400| big |
-----------------------------------------------
Run Code Online (Sandbox Code Playgroud)
我的代码看起来像这样:
date_default_timezone_set('Africa/Johannesburg');
$from = strtotime($_GET['meeting_date'] . ' ' . $_GET['meeting_start']);
$to = strtotime($_GET['meeting_date'] . ' ' . $_GET['meeting_end']);
$another_meeting = false;
$meeting_date = strtotime($_GET['meeting_date']);
$meeting_next = $meeting_date + 86400;
$result = mysql_query("SELECT meeting_start, meeting_end FROM admin_boardroom_booking WHERE boardroom = '" . $_GET['boardroom'] . "' AND meeting_start >= '" . $meeting_date . "' AND meeting_end < '" . $meeting_next . "'")or die(mysql_error());
while($row = mysql_fetch_array($result)) {
$from_compare …Run Code Online (Sandbox Code Playgroud) 我在PHP书中读到,当我们处理用户输入的数据时,使用htmlspecialchars和mysqli_real_escape_string处理条件是一个好习惯.这两者之间的主要区别是什么,它们适合使用?请指导我.
可能重复:
什么是SQL注入?
我看到很多php代码在stackoverflow上浮动,而且(也)很少有字符串转义.
任何人都可以
可能重复:
在PHP中停止SQL注入的最佳方法
如果我使用$ _GET函数从URL中检索变量,我该怎样才能使其成为黑客证明?现在我只有addSlashes,我还应该添加什么?
$variable1 = addslashes($_GET['variable1']);
//www.xxxxx.com/GetTest.php?variable1=xxxx
Run Code Online (Sandbox Code Playgroud) 我正在制作一个项目,其中我有一个登录页面.
我限制用户进入
AND OR NOT XOR&| ^
这足以阻止我的应用程序从SQL注入?
我有一个脚本,我写的是将某些字段移动到新的数据库中
$results = mysql_query ( "SELECT body, title FROM $source_db.Post" );
while ($row = mysql_fetch_array($results)) {
if(mysql_num_rows($users_result) > 0){
$insert = "INSERT INTO wp_posts (`body`,`title`) VALUES ('{$row['body']}', '{$row['row']}')";
mysql_query($insert);
}
}
Run Code Online (Sandbox Code Playgroud)
但正如你可以看到,由于单引号和双引号,查询将每次都中断,是否有像herdok这样的问题的解决方案
INSERT INTO wp_posts (`body`,`title`)
VALUES
('Here are the final returns from today's ...<br /><br />he stayed home...<br />
<div class="entry-content">
<div class="entry-body">', 'something')
Run Code Online (Sandbox Code Playgroud) 我只想将变量"$ read"定义为数据库中的值.我怎样才能做到这一点?
$read = "SELECT `read` FROM `users` WHERE `id` = '$id'";
Run Code Online (Sandbox Code Playgroud) 我是网络开发的初学者,我正在开发一个网站,允许用户发布各种讨论,其他人评论和回复.我面临的问题是,用户几乎可以发布任何内容,包括代码片段以及可能包含单引号,双引号甚至某些html内容的任何其他内容.
当这些帖子被发布时,它正在干预MySQL插入查询,因为引号正在结束字符串,因此查询失败.即使我使用php显示字符串,浏览器也会将字符串解释为html,我希望它被解释为文本.我是否必须手动解析输入字符串并转义所有特殊字符?还是有另一种方式?
我对如何防止 SQL 注入感到困惑,我在网上查看过。我是使用存储过程,还是创建变量,我完全迷失了。
\n\n Try\n connection.Open()\n \xe2\x80\x99we got here so our connection to the db is sound\n chosen = cboBooks.SelectedIndex\n id = customerList(cboCustomers.SelectedIndex)\n isbn = isbnList(cboBooks.SelectedIndex)\n If number <= qty Then\n Dim sql As String\n sql = "INSERT INTO purchase(customer_id, ISBN, store_id, quantity)\n VALUES(" & id & ", " & isbn & ", 1, " & number & ");"\n Dim cmd As New SqlCommand(sql, connection)\n Dim rows As Integer\n rows = cmd.ExecuteNonQuery()\n If rows >= 1 Then\n \xe2\x80\x99now update the …Run Code Online (Sandbox Code Playgroud) 偶尔,我们会在我们的网站上注册与此类似的注册.(这是电子邮件通知的记录):
New User Registration
FirstName: cowdqd
LastName: cowdqd
Company: nWJrFxUitwFMbnK
Email: qwupxt@bsesfj.com
Phone: oCFsfSHolrnx
Fax: -152
AddressLineOne: xRQgqnCOJkkoA
AddressLineTwo: obsDvktXDL
City: vqxXGZQgIplDwm
Province: AB
PostalCode: kgyabr
Country: CA
IncludedInPromotions: Yes
RequestInfo: No
Comments: x0EDw7 eecfocnmvwzu, [url=http://fvbppxzancnj.com/]fvbppxzancnj[/url], [link=http://tyflcliodtqa.com/]tyflcliodtqa[/link], http://ldklshrkpwwn.com/
RegistrationDate: February 24 2010
Run Code Online (Sandbox Code Playgroud)
我认为这是垃圾邮件,但通常电子邮件和链接甚至都无效.为什么有人想这样做?
mysql ×7
php ×7
security ×2
sql ×2
c# ×1
get ×1
html ×1
mysqldump ×1
overlapping ×1
protection ×1
time ×1
urlvariables ×1