小编Chi*_*wda的帖子

如何防止用户使用检查元素来启用禁用的元素?

我有一个按钮如下:

<input type="submit" class="button" value="FooBar" name="FooBar" id="FooBar" disabled="disabled">
Run Code Online (Sandbox Code Playgroud)

我仅在满足某些参数时才启用此按钮。为了测试它是否安全,我按了 F12 (或右键单击 -> Inspect Element)并编辑了文本disabled="disabled"。这样做会覆盖我的代码,这很可怕。我怎样才能防止有人以这种方式改变它?

我在此页面中使用 php 和 jquery 并使用后者来启用或禁用该按钮。我检查了 jquery click 函数,它不仅执行,而且显示按钮禁用。下面的警报显示已禁用: false

$("#FooBar").click(function(){
    alert('Disabled: ' + $(this).is('[disabled=disabled]'));    
})
Run Code Online (Sandbox Code Playgroud)

那么如何防止用户更改按钮禁用状态从而覆盖我的逻辑呢?

javascript security jquery

8
推荐指数
1
解决办法
2万
查看次数

如何通过classname分配javascript函数

我有一个购物车应用程序的多个按钮(由PHP生成):

<button class="addtocart" id="<?php echo $code; ?>"> 
    <span id="addtocartbutton">Add to cart</span>
</button>
Run Code Online (Sandbox Code Playgroud)

我想使用功能更新我的购物车:

function AddtoCart() {
    alert("Added!");
}
Run Code Online (Sandbox Code Playgroud)

后来,我想找到由调用它的按钮创建的id($ code)(不知道该怎么做,但也许这是另一个问题).所以我尝试了这个:

document.getElementsByClassName("addtocart").addEventListener("click", AddtoCart());
Run Code Online (Sandbox Code Playgroud)

但它不起作用.它使用onclick工作,但我理解通过创建EventListener来实现它的正确方法.另外,我不能在jQuery中使用on()函数,因为我被迫使用没有它的jQuery Version 1.6.

我查看了/sf/answers/1777150021/,我无法将其分配给ap标签的父级,因为我显然不希望分配p标签中的其他元素这个功能.

javascript addeventlistener

6
推荐指数
1
解决办法
4022
查看次数

MySQL 错误 #167 - 列的值超出范围,即使它是自动递增的

我有一个字段(称为 ID),定义为:

smallint(10) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=32768
Run Code Online (Sandbox Code Playgroud)

我有一个查询如下(简化):

INSERT INTO delivery (`ConsigneeName`, `ConsigneePhone`) VALUES ('John Doe', '9999999999')
Run Code Online (Sandbox Code Playgroud)

并且也尝试过

INSERT INTO delivery (`ID`, `ConsigneeName`, `ConsigneePhone`) VALUES (NULL, 'John Doe', '9999999999')
Run Code Online (Sandbox Code Playgroud)

但是,我不断收到错误消息:

#167 - Out of range value for column 'ID' at row 1
Run Code Online (Sandbox Code Playgroud)

那么可能是什么问题呢?我不知所措 - 尝试在字段名称和值上使用 ' 和 ` 只是为了看看这是否是问题所在,但我得到了相同的结果。我什至尝试使用 phpmyadmin 界面插入值(并将 ID 留空),但我得到了同样的错误。

提前感谢您的帮助。

mysql auto-increment sql-insert

5
推荐指数
1
解决办法
6434
查看次数

VB.Net DateTime.Parse和ParseExact不起作用

我已经尝试了DateTime.Parse和ParseExact的所有组合,但它们不起作用.我不断收到消息"{"字符串未被识别为有效的DateTime."}"用于这两个函数.我也尝试过Convert.ToDateTime,但是没有用.只是为了检查我是不是在做梦,我写了下面的代码:

Dim ExpiryDate As Date = System.DateTime.Now
Dim provider As New CultureInfo("en-US")
Try
     Dim strDate As String = Convert.ToString(ExpiryDate)
     ExpiryDate = DateTime.ParseExact(strDate, "mmddyy", provider)
Catch ex as exception
    'ex here says "{"String was not recognized as a valid DateTime."}"
End Try
Run Code Online (Sandbox Code Playgroud)

我只想以这种形式采取字符串mm-dd-yyyy或mm/dd/yyyy并将其转换为日期,以便我可以测试(大于)另一个日期.任何帮助赞赏.

vb.net datetime parsing

2
推荐指数
1
解决办法
1万
查看次数

在 bash 脚本中如何遍历按日期排序的文件

我有以下脚本:

#!/bin/sh
HOST='host'
USER='user@example.com'
PASSWD='pwd'

for FILE in *.avi
do
    ftp -n $HOST <<END_SCRIPT
    quote USER $USER
    quote PASS $PASSWD
    binary
    put $FILE
    rm FILE 
    quit
done
END_SCRIPT
exit 0
Run Code Online (Sandbox Code Playgroud)

如何确保首先处理最旧的文件?我见过很多使用 ls -t 的 hack,但必须有更简单的方法。

sorting bash

2
推荐指数
1
解决办法
3168
查看次数

数据表:Bfrtip(按钮)和数字下拉列表之间的冲突

这是我的数据表实现代码:

<script type="text/javascript" src="../js/jquery-3.1.1.min.js" ></script>
<script type="text/javascript" src="../js/jquery-ui.js" ></script>
<link rel="stylesheet" href="https://cdn.datatables.net/buttons/1.4.2/css/buttons.dataTables.min.css" type="text/css" media="all">
<script type="text/javascript" charset="utf8" src="//cdn.datatables.net/1.10.16/js/jquery.dataTables.js"></script>
<script type="text/javascript" charset="utf8" src="https://cdn.datatables.net/buttons/1.4.2/js/dataTables.buttons.min.js"></script>
<script type="text/javascript" charset="utf8" src="//cdn.datatables.net/buttons/1.4.2/js/buttons.flash.min.js"></script>
<script type="text/javascript" charset="utf8" src="//cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.32/vfs_fonts.js"></script>
<script type="text/javascript" charset="utf8" src="//cdn.datatables.net/buttons/1.4.2/js/buttons.html5.min.js"></script>

var table = $('#TransactionsTable').DataTable( {
    dom: 'Bfrtip',
    buttons: [
        'copy',
        'csv',
        'excel'
    ],
    "order": [[6, "desc"]],
    "columnDefs": [
       {
          "visible": false,
            "targets": [8]
       }
    ]
} );
Run Code Online (Sandbox Code Playgroud)

我对"dom:'Bfrtip'"这一行有疑问.如果我包含它,按钮显示,但允许您选择条目数(例如显示10,25,50,100个条目)的下拉列表消失.如果我删除该行,则下拉列表会返回,但按钮不会显示.为什么我需要选择?我怎么能两个都有?

Thanx任何帮助.

jquery datatables

0
推荐指数
1
解决办法
4754
查看次数