小编Man*_*n C的帖子

JQuery - $未定义

我有一个简单的jquery点击事件

<script type="text/javascript">
    $(function() {
        $('#post').click(function() {
            alert("test"); 
        });
    });
</script>
Run Code Online (Sandbox Code Playgroud)

以及site.master中定义的jquery引用

<script src="<%=ResolveUrl("~/Scripts/jquery-1.3.2.js")%>" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

我已经检查过脚本是否正确解析,我能够看到标记并直接在firebug中查看脚本,所以我必须被找到.但是,我仍然得到:

$未定义

并没有jquery工作.我也尝试了各种各样的变体,如$(document).ready和jQuery等.

它是.net 3.5上的一个MVC 2应用程序,我确定我真的很密集,google上的每个地方都说要检查文件是否正确引用,我已经检查并再次检查,请指教!:/

javascript asp.net-mvc jquery

462
推荐指数
12
解决办法
147万
查看次数

生成OAuth令牌的最佳做法?

我意识到OAuth规范没有指定任何关于ConsumerKey,ConsumerSecret,AccessToken,RequestToken,TokenSecret或Verifier代码的来源,但我很好奇是否有任何创建显着安全令牌的最佳实践(特别是令牌/秘密组合).

在我看来,创建令牌有几种方法:

  1. 只需使用随机字节,存储在与消费者/用户相关的数据库中
  2. 散列一些用户/消费者特定数据,存储在与消费者/用户相关联的数据库中
  3. 加密用户/特定于消费者的数据

(1)的优点是数据库是看起来最安全的信息的唯一来源.对(2)或(3)进行攻击会更难.

散列实数据(2)将允许从可能已知的数据重新生成令牌.可能没有真正为(1)提供任何优势,因为无论如何都需要存储/查找.比(1)更多的CPU密集型.

加密真实数据(3)将允许解密以了解信息.与(1)和(2)相比,这将需要更少的存储空间和更少的查找,但也可能不太安全.

是否还有其他方法/优点/缺点需要考虑?

编辑:另一个考虑因素是令牌中必须有某种随机值,因为必须存在过期和重新发行新令牌的能力,因此它不能只包含真实数据.

关注问题:

是否有最小的令牌长度,以显着加密安全?据我了解,更长的令牌秘密会创建更安全的签名.这种理解是否正确?

从散列角度来看,使用特定编码优于另一种编码是否有优势?例如,我看到很多使用十六进制编码的API(例如GUID字符串).在OAuth签名算法中,令牌用作字符串.使用十六进制字符串,可用字符集将比使用Base64编码的字符集小得多(更可预测).在我看来,对于两个长度相等的字符串,具有较大字符集的字符串将具有更好/更宽的散列分布.在我看来,它会提高安全性.这个假设是否正确?

OAuth规范在11.10熵的熵中提出了这个问题.

security encryption hash oauth

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

"找不到Content-Security-Policy元标记." 我的phonegap应用程序出错

在我的系统中更新Cordova 5.0后,我创建了新的应用程序.当我在设备上测试我的应用程序时,我在控制台日志中出现错误:

No Content-Security-Policy meta tag found.
Please add one when using the Cordova-plugin-whitelist plugin.: 23.
Run Code Online (Sandbox Code Playgroud)

我在head部分添加了meta

<meta http-equiv="Content-Security-Policy" content="default-src *; style-src 'self' 'unsafe-inline'; script-src: 'self' 'unsafe-inline' 'unsafe-eval'>
Run Code Online (Sandbox Code Playgroud)

但同样,我在使用应用程序内浏览器插件和其他7个网站链接的应用程序中得到了同样的错误.

whitelist phonegap-plugins cordova

94
推荐指数
3
解决办法
10万
查看次数

JQuery:如果div是可见的

我正在使用JS作为改变我正在创建的SPA内容的一种方式.当我按下按钮更改内容时,HTML会从此更改:

<div id="selectDiv" style="display: none;">
Run Code Online (Sandbox Code Playgroud)

对此:

<div id="selectDiv" style>
Run Code Online (Sandbox Code Playgroud)

现在我的SPA的一部分有一个包含许多复选框的div,每个复选框代表一个div,所以当我按下提交按钮时,应该显示的下一个div将是所选复选框列表中的第一个项目.

我想知道JQuery中是否有一种方法可以"几乎检测到"哪个div现在可见.这样的事情:

if($('#selectDiv').isVisible()){
    //JS code associated with this div.
}
Run Code Online (Sandbox Code Playgroud)

有什么建议?

html javascript css checkbox jquery

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

使用Curl和PHP保持会话活跃

我正在尝试连接到API,验证用户身份,然后查看用户详细信息.这是通过首先访问登录端点来完成的

http://api.example.com/login/<username>/<password>
Run Code Online (Sandbox Code Playgroud)

登录,然后查看以下内容以查看用户详细信息:

http://api.example.com/user/
Run Code Online (Sandbox Code Playgroud)

这一切都可以在Web浏览器中使用.但是,一旦我尝试使用Curl,登录工作正常,但在尝试查看用户详细信息时,我会收到401,未经授权的错误.我相信这是因为Curl没有正确保存会话cookie?有人可以指出它为什么不工作以及如何解决它?我已经尝试过搜索堆栈交换,但是,我尝试过的解决方案都没有适用于我的情况.我用来卷曲端点的代码如下所示.谢谢!

define("COOKIE_FILE", "cookie.txt");

// Login the user
$ch = curl_init('http://api.example.com/login/joe/smith');
curl_setopt ($ch, CURLOPT_COOKIEJAR, COOKIE_FILE); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);
echo curl_exec ($ch);

// Read the session saved in the cookie file
echo "<br/><br/>";
$file = fopen("cookie.txt", 'r');
echo fread($file, 100000000);   
echo "<br/><br/>";

// Get the users details
$ch = curl_init('http://api.example.com/user');
curl_setopt ($ch, CURLOPT_COOKIEJAR, COOKIE_FILE); 
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);
echo curl_exec ($ch);
Run Code Online (Sandbox Code Playgroud)

此代码将输出:

HTTP/1.1 200 OK Date: Mon, 22 Oct 2012 21:23:57 …
Run Code Online (Sandbox Code Playgroud)

php session curl

52
推荐指数
4
解决办法
11万
查看次数

使用限制性内容安全策略将iframe注入页面

我想创建一个创建侧边栏的浏览器扩展.Chrome没有一流的侧边栏,因此我们必须在页面中添加iframe.但是,由于内容安全策略,这会在许多页面上中断.例如,GitHub使用CSP,它不允许嵌入来自其他站点的iframe.例如,如果您尝试将capitalone.com网站放在GitHub上的iframe中,您将获得以下内容:

拒绝构建" https://www.capitalone.com/ ",因为它违反了以下内容安全策略指令:"frame-src'self'recrera.githubusercontent.com www.youtube.com assets.braintreegateway.com".

这是一个简单的浏览器扩展,可以重现:

chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
  if (changeInfo.status === 'complete') {
   chrome.tabs.executeScript(tabId, { code: 'document.body.innerHTML=\'<iframe style=\"width:600px; height:600px\" src=\"https://www.capitalone.com/\"></iframe>\' + document.body.innerHTML;' }, function() {
     console.log('Iframe injection complete');
   })
  }
}.bind(this));
Run Code Online (Sandbox Code Playgroud)

然而,根据维基百科,尽管有任何内容安全策略,浏览器扩展应该能够注入iframe:

根据CSP处理模型,[20] CSP不应干扰用户安装的浏览器加载项或扩展的操作.CSP的这一功能有效地允许任何附加组件或扩展程序将脚本注入网站,无论该脚本的来源如何,因此可以免除CSP策略.

除了我正在做的事情之外,还有其他方法可以注入iframe吗?

google-chrome-extension content-security-policy

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

Cordova - 拒绝执行内联事件处理程序,因为它违反了以下内容安全策略

我正在接受Cordova应用程序开发的培训,并且我解决了内容安全策略的问题.

我的应用程序使用Android模拟器运行,但是当我必须执行javascript时,我在NetBeans(输出窗口)中收到一条消息.

Refused to execute inline event handler because it violates the following Content Security Policy directive: "script-src 'self' https://ssl.gstatic.com". (22:35:56:126 | error, security)
  at www/index.html:58
Run Code Online (Sandbox Code Playgroud)

我的代码如下.这是我的index.html.我试着理解CSP是如何工作的,我想我理解这个概念,但在这种情况下,我不明白这个问题.第58行是评论.

<html>        
    <head>   

        <meta http-equiv="Content-Security-Policy" content="default-src 'self' * data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self'; script-src 'self' https://ssl.gstatic.com; media-src *">
        <meta name="format-detection" content="telephone=no">
        <meta name="msapplication-tap-highlight" content="no">
        <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width">

        <title>Hello World</title>

        <link rel="stylesheet" type="text/css" href="css/index.css">

    </head>

    <body>
        <div class="app">
            <h1>Apache Cordova</h1>
            <div id="deviceready" class="blink">
                <p class="event listening">Connecting to Device</p>
                <p class="event …
Run Code Online (Sandbox Code Playgroud)

javascript android cordova content-security-policy

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

html文本输入onchange事件

有没有办法实现文本更改事件来检测HTML输入文本字段上的文本更改?
可以使用关键事件(按键等)来模拟这些事件,然而,它确实不具备性能和难度,是否有更好的方法?

html javascript textbox

25
推荐指数
3
解决办法
12万
查看次数

显示加载图标,直到页面加载?

我想向用户显示加载图标,直到页面元素完全加载.我怎么能用javascript做到这一点,我想用javascript,而不是jquery?

是google如何做的链接我该怎么做?在onload事件或类似的东西上触发一些函数..我知道它会像这样或其他任何方式做到这一点吗?或者有一些事件呢?

更新 我使用display属性做了一些事情我隐藏了body元素但是body标签的onload我更改了它的属性但是在哪里放置加载图标并添加更多的交互性.

html javascript css

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

将数据保存到本地存储

我试图在本地存储中设置一组变量,但函数没有运行,我试图获得值,但没有运气,如何保存本地存储中的字段?

function setPerson(){
var person = { 'name': getElementById('name'), 'photo': getElementById('photo')};

// Put the object into the storage
    alert(person);
    localStorage.setItem('person', JSON.stringify(person));
};
Run Code Online (Sandbox Code Playgroud)

HTML 在HTML中,我从字段中将值放入标记中并填充它们,但是当我尝试获取它们并保存它们时,没有任何事情发生......

我还尝试在那里输出固定值,然后显示警报,但是它只显示对象而不是值

var testObject = { 'one': 1, 'two': 2, 'three': 3 };

// Put the object into storage
localStorage.setItem('testObject', JSON.stringify(testObject));

// Retrieve the object from storage
var retrievedObject = localStorage.getItem('testObject');
alert('retrievedObject: ', JSON.parse(retrievedObject));;
Run Code Online (Sandbox Code Playgroud)

javascript jquery local-storage

16
推荐指数
3
解决办法
4万
查看次数