现在像jQuery这样的JavaScript库比以往更受欢迎,.js文件开始包含越来越多的网站逻辑.它如何以及从何处提取数据/信息,如何处理信息等等.这不一定是坏事,但我想知道这可能是一个安全问题.
当然,数据的真实处理仍然在后端使用PHP或其他语言进行,并且确保在此时不会发生任何不需要的事情是关键.但仅仅通过查看网站的.js(严重依赖于jQuery),它会告诉一个人可能比开发人员想要的更多.特别是因为现在每个浏览器都带有相当广泛的Web开发人员环境或附加组件.即使对于操纵DOM的新手来说也不是那么重要.一旦你弄清楚了什么代码,以及如何通过编辑DOM来影响它,就会开始"有趣".
所以我的主要关注点是:
我不希望每个人都能够看一个.js文件,看看到底(或者说:对于很大一部分)我的网站,Web应用程序或CMS是如何工作的 - 还有什么,它做什么,它是如何做等
我担心通过'揭开'这些信息,比我更聪明的人想出一种操纵DOM的方法,以便影响他们现在知道网站使用的JavaScript功能,可能绕过我实施的后端检查(因而错误地假设它们足够好了).
我已经为例如Web应用程序的不同部分使用了不同的.js文件.但是总有一些东西必须全球可用,有时这包含的东西比我想要公开的要多.而且因为它全部"在那里",谁说他们无论如何都找不到那些其他文件.
我有时会看到一个巨大的JavaScript,没有换行符等等.就像紧凑的jQuery文件一样.我确定有一些应用程序或技巧可以将您的普通.js文件转换为一个长字符串.但是,如果它可以做到这一点,是不是很容易将它变回更可读的东西(除了节省空间之外没有意义)?
最后,我在考虑是否有可能检测到.js文件的请求是否来自网站本身(通过在HTML中包含脚本),而不是直接下载.也许通过使用例如Apache的ModRewrite阻止后者,可以在HTML中使用.js文件,但是当有人试图访问它时,它被阻止.
你对此有何看法?我反应过度了吗?我应该尽可能地拆分我的JS,还是花更多的时间进行三重检查(后端)脚本并包括更多检查以防止造成伤害?或者是否有一些最佳实践来限制JavaScripts的暴露以及它们包含的所有信息?
我有一个程序输出到stdout,并希望在管道到文件时在Bash脚本中静音该输出.
例如,运行程序将输出:
% myprogram
% WELCOME TO MY PROGRAM
% Done.
Run Code Online (Sandbox Code Playgroud)
我希望以下脚本不向终端输出任何内容:
#!/bin/bash
myprogram > sample.s
Run Code Online (Sandbox Code Playgroud) 我正在使用WCF向第三方服务发出SOAP请求.该服务要求我签名的请求,我认为我做的,但我得到的错误:Could not create SSL/TLS secure channel 所以我想知道是否有一种方法可以看到正在发送,所以我能看到的问题是原始XML?
给定以下属性定义:
@property (nonatomic,retain) MyObject* foo;
Run Code Online (Sandbox Code Playgroud)
以下代码是否导致内存泄漏:
self.foo = [[MyObject alloc] init];
Run Code Online (Sandbox Code Playgroud)
?
它看起来像ALLOC呼叫递增对象的保留数为1,则保留里面的属性setter就增加到1.但由于初始计数永远不会递减至0,自我被释放时,对象甚至会留下来.这个分析是否正确?
如果是这样,看起来我有两个选择:
self.foo = [[[MyObject alloc] init] autorelease];
Run Code Online (Sandbox Code Playgroud)
出于性能原因,不建议在iPhone上使用,或者:
MyObject* x = [[MyObject alloc] init];
self.foo = x
[x release];
Run Code Online (Sandbox Code Playgroud)
这有点麻烦.还有其他选择吗?
鉴于影响Safari和Chrome的cookie处理错误(请参阅此主题),以及将pylons实现redirect_to作为例外,是否可以可靠地设置跟踪cookie并同时重定向?META刷新方法是否受到鄙视?
我有以下C公式
bucket = (hash - _min) * ((_capacity-1) / range());
Run Code Online (Sandbox Code Playgroud)
我需要重新排列等式以返回_capacity而不是bucket(除了_capacity,我还有其他所有变量).例如
96 = (926234929-805306368) * (( x -1) /1249540730)
836 = (1852139639-805306368) * ((x -1) /1249540730)
Run Code Online (Sandbox Code Playgroud)
你可以看到它是一个相当简单的等式,我需要的只是左边的x.但我的代数非常生疏,所以任何帮助都值得赞赏.
我正在以下面的方式阅读文件的每一行
BufferedReader in = new BufferedReader(new FileReader(inFile));
while (null != (line = in.readLine())) {
}
Run Code Online (Sandbox Code Playgroud)
我想在第一行和最后一行进行一些验证.有没有办法检查它是否是while循环中的第一行和最后一行
while (null != (line = in.readLine())) {
if(firstlineoffile) {
}
else if (lastlineoffile) {
}
else
{
}
}
Run Code Online (Sandbox Code Playgroud) 我想使用HTML :: Template模块.但是,它没有安装在我用于开发CGI脚本的服务器上.
是否可以在运行时加载模块:我在本地Perl安装上找到了Template.pm文件,并将文件上传到我正在使用的服务器上.
#!/usr/bin/perl -w
use CGI qw(:standard :html4);
use CGI::Carp qw(warningsToBrowser fatalsToBrowser);
# use HTML::Template;
use Template;
# my $package = "HTML::Template";
# eval {
# (my $pkg = $package) =~ s|::|/|g; # require need a path
# require "$pkg.pm";
# import $package;
# };
# die $@ if( $@ );
# open the HTML template
my $template = HTML::Template->new(filename => 'test.tmpl');
# fill in some parameters in the template
$template->param(home => $ENV{HOME});
$template->param(path => $ENV{PATH});
# send …Run Code Online (Sandbox Code Playgroud) 请帮我解决此验证错误.我无法理解这意味着什么,或者我的HTML不符合标准.
我会在这里重新发布它,因为我希望我能解决它并且该链接将不再起作用:
由元素td建立的表列2没有以其开头的单元格.
…="tooltip_table"><tr><td colspan="2">20 yd range</td></tr><tr><td colspan="2"
?
Run Code Online (Sandbox Code Playgroud) algebra ×1
asp.net-3.5 ×1
bash ×1
c ×1
c# ×1
c++ ×1
cookies ×1
escaping ×1
file ×1
html ×1
html5 ×1
installation ×1
java ×1
javascript ×1
jquery ×1
module ×1
objective-c ×1
perl ×1
pex ×1
properties ×1
pylons ×1
python ×1
redirect ×1
security ×1
string ×1
validation ×1
wcf-security ×1