是否可以打印/显示JavaScript变量的名称?例如:
var foo=5;
var bar=6;
var foobar=foo+bar;
document.write(foo+ "<br>");
document.write(bar+ "<br>");
document.write(foobar + "<br>");
Run Code Online (Sandbox Code Playgroud)
我们如何打印变量的名称,以便输出:
foo
bar
foobar
Run Code Online (Sandbox Code Playgroud)
而不是:
5
6
11
Run Code Online (Sandbox Code Playgroud) 当检测到跨站点请求伪造(CSRF)时,我应该回复什么响应?
有一个扫描工具,我无法控制,这是说我的一个页面没有受到保护CSRF.但它是.我发回的响应是正常的202,句子"请求不能被处理".就是这样,没有任何信息被发送回攻击者,我记录了尝试.但是这个软件说它仍然容易受到影响CSRF.我可以很容易地自己运行测试并弄清楚但是在扫描和测试之间需要很长时间才能得到相同的软件,这就是我要求stackoverflow的原因,所以我希望能在下一次计划的扫描中将其删除.我正在考虑发送一个statusCode 404或410代替一个202. http://www.cfgears.com/index.cfm/2009/8/11/cfheader-404-status-codes-and-why-you-shouldnt-use-them
在CSRF检测到a时,您建议发回什么?
我刚将Google reCAPTCHA 2.0集成到我的网站中.它在Chrome,Firefox和Edge中按预期工作,但在我的MacBook Pro上无法在Safari中显示.
reCAPTCHA正在这样的dhtmlXForm中使用......
...
{ type:"label", name:"myrecaptcha", label:"<div class=\"g-recaptcha\" data-sitekey=\"MY_KEY_HERE\"></div>", offsetLeft:320 },
...
Run Code Online (Sandbox Code Playgroud)
在除Safari之外的所有浏览器中生成此...
但在Safari中它似乎没有......
控制台中没有错误.我已经清除了所有浏览器缓存.该api.js行的位置紧跟在结束</head>标记之前,如Google的文档所述.不知道还有什么可以尝试.
更新:在Safari中,当我检查reCAPTCHA应该显示的区域时,我只看到<div class="g-recaptcha" data-sitekey="MY_KEY_HERE"></div>其中没有任何内容的原始内容.因此,出于某种原因,它不会将iframe放入该div中.希望有所帮助.
我需要获取文件名的扩展名.扩展可以是任何长度(不仅仅是3),它们也可以不存在,在这种情况下我需要null返回.我知道我可以轻松编写一个PL/SQL函数来执行此操作,然后在查询中调用该函数,但我希望我能以某种方式完成所有内联.我真的不在乎解决方案有多长,我需要的是最快的解决方案.速度很重要,因为这最终会在非常大的桌子上运行.这就是我到目前为止......
/*
The same method is being used in all 5 examples.
It works for all of them except the first one.
The first one I need to return null
*/
SELECT substr(filename,instr(filename,'.',-1)+1,length(filename)-instr(filename,'.',-1))
FROM (select 'no_extension_should_return_null' filename from dual);
--returns: no_extension_should_return_null
SELECT substr(filename,instr(filename,'.',-1)+1,length(filename)-instr(filename,'.',-1))
FROM (select 'another.test.1' filename from dual);
--returns: 1
SELECT substr(filename,instr(filename,'.',-1)+1,length(filename)-instr(filename,'.',-1))
FROM (select 'another.test.doc' filename from dual);
--returns: doc
SELECT substr(filename,instr(filename,'.',-1)+1,length(filename)-instr(filename,'.',-1))
FROM (select 'another.test.docx' filename from dual);
--returns: docx
SELECT substr(filename,instr(filename,'.',-1)+1,length(filename)-instr(filename,'.',-1))
FROM (select 'another.test.stupidlong' …Run Code Online (Sandbox Code Playgroud) 我有一个一直使用Windows-1252的测试站点.他们确实需要/使用一些符号,如平方根符号.而且他们不需要用英语以外的其他语言显示.最近我被要求将其切换为UTF-8,因为存在一些安全问题.在我将其更改为UTF-8之后,平方根和其他符号(从Oracle DB中拉出并通过ColdFusion)在生成的网页上显示正常.但是,如果我再次保存文档(发布到DB,页面刷新),符号将转换为奇怪的字符.如果我再次保存,会出现更多奇怪的角色.所以...
我已经阅读了所有这些页面,仍然有点麻烦把握这一切.希望有人来帮我澄清一下.谢谢!
***更新***
到目前为止,我感谢所有帮助,使这更容易理解. 我将简化原来的3个问题,希望能够得到一个明确的答案,所以这里是:客户不需要支持其他语言,他们将使用一些HTML5标签和一些TON的JSON/XML流量回送来自jQuery.ajax().鉴于这些信息,从安全角度来看,保持数据库设置NLS_CHARACTERSET: WE8MSWIN1252和网页设置为<CFHEADER NAME="Content-Type" value="text/html; charset=windows-1252">?有什么不对吗?谢谢.
这是另一个问题,从这个问题略微分离出来:为什么我能够使用不属于字符集的字符(windows-1252)?.
我必须将大约50多个验证函数移到Oracle中.我正在寻找运行速度最快的方法,但boolean如果可能的话,我也想解决一个问题.它们的返回对象都需要相同,以便应用程序可以以一致的方式对结果做出反应并提醒用户或显示我们可能需要的任何弹出窗口和消息.我valObj为此创建了一个,但不确定这是否是最好的方法.可以更改返回格式,因为尚未开发出响应它的前端.最后,它将包含许多不同的验证功能,从整数,数字,电话,电子邮件,IPv4,IPv6等...这是我到目前为止...
/***
This is the validation object.
It stores 1 for valid, 0 for not valid and some helper text that can be relayed back to the user.
***/
create or replace type valObj as object (
result number(1),
resultText varchar(32000)
);
/***
Coming from ColdFusion this seems clean to me but the function
will end up being a couple thousand lines long.
***/
create or replace function isValid(v in varchar2, format in varchar2)
return valObj …Run Code Online (Sandbox Code Playgroud) 我有一个测试站点和测试数据库都设置为windows-1252. 当我在 Chrome 中键入Alt+ 时,234它会将这个符号放在字段中:?。当我提交表单时,它会发布并存储它,因为Ω 我假设这是浏览器在说“嘿,这不在指定的字符集中,但我知道一个 html 等效项,所以我会发布它”。美好的。保存后符号正常显示,我可以保存,保存,保存,它总是显示正常。但是如果我用Alt+尝试同样的事情,230浏览器不会提交它的 .html 实体值µ。相反,我在 Chrome DevTool 窗口中查看 POST 时看到“(无法解码值)”。它最终作为问号存储在数据库中。
为什么它治疗Alt+ 234(?)不同于Alt+ 230(µ)?
我知道我应该切换到 UTF8,但我仍然想知道为什么它会以这种方式运行。谢谢!
我希望这是此问题的正确答案,因为它围绕JavaScript。在新的iOS 12快捷方式应用中,您可以创建工作流程。我想创建一个简单地启动网页,填写我的用户名和密码,然后单击提交按钮,类似这样的...
document.myForm.username.value = 'myUsername';
document.myForm.password.value = 'myPassword';
document.getElementById('loginSubmit').submit();
Run Code Online (Sandbox Code Playgroud)
但是在到达那个距离之前,我只想运行一个alert(1);。我无法做到这一点。我不断在下面收到此错误消息...
在网页上运行JavaScript失败,因为快捷方式无法从URL转换为Safari网页。
我不确定那是什么意思。我还没有找到有关如何使用它的信息或教程。有谁知道如何运行JavaScript?谢谢!
我想说,这是一个奇怪的现象,它只是在过去几个月中才开始出现的。使用ColdFusion的时,Microsoft Edge中的Textareas仅显示额外的换行符encodeForHTML()。如何复制...
<cfset x = chr(49)&chr(13)&chr(10)&chr(50)&chr(13)&chr(10)&chr(51)>
<cfoutput>
<textarea rows="10">#encodeForHTML(x)#</textarea>
</cfoutput>
Run Code Online (Sandbox Code Playgroud)
在Edge中,它显示如下:
但是在所有其他浏览器(甚至直到最近的Edge up)中,它看起来都是这样……
这是另一个奇怪的行为,如果您检查该元素,则双击该值,就好像您将要对其进行编辑一样,不进行任何更改,只需按Enter键,多余的换行符就会消失。这是一个生动的演示...
所以我决定输出所有经过的ascii,encodeForHTML()这就是结果...
49| = 1
38|35|120|100|59|38|35|120|97|59| = 

50| = 2
38|35|120|100|59|38|35|120|97|59| = 

51| = 3
Run Code Online (Sandbox Code Playgroud)
这是我所期望的。几年前,我与esapi项目的一位创始人进行了交谈,该项目的encodeForHTML()用途是什么,他说该项目会关闭分页符以防止日志欺骗。因此,既然这是最近才开始在Edge中发生的,您是否会说这是Edge的问题,并且无法
在文本区域内正确处理?还是有其他方法可以解决此问题,但仍然可以从XSS安全地进行修复?谢谢!
我还尝试浏览Microsoft Edge的发行说明,但找不到与此问题相关的任何内容。
我正在运行SublimeText 3(build 3083).我按照此处所述(https://github.com/SublimeText/ColdFusion)按照ColdFusion插件的手动安装说明进行操作:
手动下载
- 使用GitHub .zip下载选项下载文件
- 解压缩文件并将文件夹重命名为ColdFusion
- 将该文件夹复制到Sublime Text 2 Packages目录
这在许多机器上都有效(并且仍然有效).但是今天我有一台PC,每次我重新打开SublimeText它都会删除ColdFusion目录,而在SublimeText控制台中它会显示"Package Control:Removed directory for forpened package ColdFusion".还没有找到任何关于此的东西.帮助赞赏.谢谢!
coldfusion ×4
javascript ×3
oracle ×3
plsql ×2
sql ×2
utf-8 ×2
csrf ×1
dhtmlx ×1
encoding ×1
esapi ×1
html5 ×1
ios ×1
ios12 ×1
iphone ×1
owasp ×1
recaptcha ×1
safari ×1
string ×1
sublimetext ×1
sublimetext3 ×1
unicode ×1
validation ×1
variables ×1
windows-1252 ×1
xss ×1