为了安全起见,我正在尝试隔离用户 JavaScript 代码。我可以通过 Iframe 安全性和消息传递来做到这一点。
是否有一个可以通过 WebAssembly 加载的 JavaScript 运行时,我可以向其中传递一些简单的内容(例如“5+3”)并读取结果。
如果这是 c# 等,我可以新建并管理 V8 引擎并让它执行 javascript 并传回主机。
我最近开始使用 React Native 来开发一个涉及网页抓取的应用程序。我们一直在使用一个叫做 React Native WebView Bridge 的组件,它类似于 Obj-C 中的 UIWebViewBridge 库,但有一些问题。由于 React Native 是异步的,我们一直无法返回信息,因为应用程序经常且不可预测地使用 WebView Bridge 调用渲染函数。有时WebView Bridge 模块会调用我们注入的javascript 1 次,有时会调用3 次。
有没有更好的方法来抓取信息并在 React Native 中有效地注入 javascript?
这是我们使用的 React Native的WebViewBridge的链接。
javascript javascript-injection web-scraping ios react-native
我们如何在asp.net mvc(C#)应用程序中处理javascript注入?
我可以在我的视图中使用Html.Encode.但问题是我有html也在页面中显示像博客文章.
我需要删除在应用程序的输入元素中输入的脚本吗?我怎么能在一个共同的地方做到这一点?
我想在我的mediawiki安装中插入一个flattr图像.这需要<script>...</script>在html文件的标题中插入一个部分.我不知道在哪里可以插入这个,因为我<head>在文件中找不到-tag MonoBook.php.我使用当前的mediawiki软件(1.16.2)和MonoBook风格.有人能给我一个线索,我可以插入所需的JavaScript吗?
我确信我不完全理解这个问题,但似乎我们在我的项目中看到IE9上的奇怪行为,不知何故与通过调用注入的JavaScript的无序执行有关document.write,例如:
document.write('<scr'+'ipt type="text/javascript" src="'+file1+'"></src'+'ipt>');
document.write('<scr'+'ipt type="text/javascript" src="'+file2+'"></src'+'ipt>');
document.write('<scr'+'ipt type="text/javascript" src="'+file3+'"></src'+'ipt>');
Run Code Online (Sandbox Code Playgroud)
我有限的谷歌研究表明,IE9将以与其他浏览器不同的顺序执行以这种方式注入的脚本(特别是Firefox和Chrome).有没有更好的方法来实现我们的目标,这将确保所有浏览器的执行顺序相同?
我把它拿回来了:我们并不关心所有浏览器,只关注Chrome和IE9.
javascript internet-explorer google-chrome javascript-injection labjs
我试图创建客户端验证一个正则表达式的表达式(之前的服务器端验证这也将发生),以防止SQL /脚本注入即是这样的-这不工作
(script)|(<)|(>)|(%3c)|(%3e)|(SELECT) |(UPDATE) |(INSERT) |(DELETE)|(GRANT) |(REVOKE)|(UNION)|(&lt;)|(&gt;)
Run Code Online (Sandbox Code Playgroud)
这个(上面)表达式的正确格式是什么,所以我可以使它工作?
例如,我的电子邮件检查程序是这样的
(/^[^\\W][a-zA-Z0-9\\_\\-\\.]+([a-zA-Z0-9\\_\\-\\.]+)*\\@[a-zA-Z0-9_]+(\\.[a-zA-Z0-9_]+)*\\.[a-zA-Z]{2,4}$/))
Run Code Online (Sandbox Code Playgroud)
哦,如果你能想到任何其他东西,请"喊".
关于SO有很多问题与此类似,但没有一个问题解决了我的目的.
我正在创造一个像chrome扩展的'pinterest'.它在网页上注入脚本,收集图像,然后将其发布到某个地方.一切都很完美,但是当我在pinterest本身运行时,它给了我这个错误:
拒绝加载脚本" https://domain_name.com/my_script.js ",因为它违反了以下内容安全策略指令:"default- src'self'https:// .pinterest.com https:// .pinimg. com*.pinterest.com*.pinimg.com*.google.com connect.facebook.net .google-analytics.com https:// .googleapis.com .gstatic.com https:// .facebook.com*.facebook .com www.googleadservices.com googleads.g.doubleclick.net platform.twitter.com*.tiles.mapbox.com*.online-metrix.net*.bnc.lt bnc.lt*.yozio.com'unsafe-inline ''不安全评估'".请注意,'script-src'未明确设置,因此'default-src'用作后备.
我知道这有很多事情Content Script Policy(我不太了解它)但是,我按照这个和这个链接给了我足够的信息,什么是CSP以及如何使用它.
我已经完成了所需的一切(我认为),但它仍然无效.这是我的manifest.json
{
"manifest_version": 2,
"name": "Image Posting",
"description": "This extension enables you to post images",
"version": "1.0",
"browser_action": {
"name": "Image Posting"
},
"homepage_url": "https://www.domain_name.com/",
"background":{
"scripts":["background.js"]
},
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["jquery.js", "content.js"]
}
],
"icons": {
"128": "icon_128.png",
"16": "icon_16.png",
"48": "icon_48.png"
}, …Run Code Online (Sandbox Code Playgroud) google-chrome javascript-injection google-chrome-extension content-security-policy
在PHP中,有一个名为htmlspecialchars()的函数,该函数对字符串执行以下替换:
& (与号)转换为 &" (双引号)转换为 "'(单引号)转换为'(仅当设置了标志ENT_QUOTES时)< (小于)转换为 <> (大于)转换为 >显然,这样做是基于这5个特定字符是不安全的HTML字符。
我可以理解为什么最后两个不安全:如果将它们简单地“回显”,则可以交付任意/危险的HTML,包括可能带有<script>这些内容的javascript 。
问题1.为什么前三个字符(“&”号,双引号,单引号)也被视为“不安全”?
另外,我偶然发现了GitHub上的这个名为“ he”的库(由Mathias Bynens撰写),该库与编码/解码HTML实体有关。在那里,我发现了以下内容:
在HTML内容(&,<,>,“,”和“)中不安全使用的[...]字符将被编码。[...]
(来源)
问题2.是否有充分的理由考虑反引号另一个不安全的HTML字符?如果是,这是否意味着上述PHP函数已过时?
最后,所有这些都引出了一个问题:
问题3.除了上面提到的那些5/6字符以外,还有其他不应该认为是“不安全”的字符吗?
html escaping code-injection javascript-injection html-injections
任何人都知道一个好的lib,我可以在插入之前运行字符串,这可以删除sql/javascript代码?在jsp页面中运行.
理想上lib将是:
在此先感谢SO社区,他们将很乐意回复:)
为什么要ScriptInjector上课.
使用ScriptInjector注入js文件和将带有<script>标记的链接直接添加到文件有什么区别index.html.ScriptInjector在index.html文件中使用过度添加脚本标记是否有任何优势.
我想到的一件事是,如果你在index.html文件中添加了大量的脚本,那么初始加载可能会更多,<script>直到以后才会使用.ScriptInjector通过仅在需要时异步加载脚本来减少初始加载.
我想更改Xamarin表单中元素的值 WebView
我创建了一个新项目并添加了一个WebView加载https://www.google.com/的页面.
我使用过.Eval
m_GoogleWebView.Eval("alert('coolness!');");
这对我来说很好.但是,如果我尝试访问dom,它只是用文本'test text'替换WebView
m_GoogleWebView.Eval("document.getElementById('lst-ib').value='test text';");
Run Code Online (Sandbox Code Playgroud)
我该如何操纵Xamarin Forms中的元素?
在VB.NET Web应用程序中阻止javascript注入的最佳方法是什么?有没有办法在pageload事件上禁用javascript?
最近,我们的vb.net产品的部分安全计划是简单地禁用页面上特定用户无法使用的按钮.但是,我告诉那个想到打字的人
javascript:alert(document.getElementById("Button1").disabled="")
在地址栏中将重新启用该按钮.我确信其他人之前遇到过这样的问题,所以任何帮助都会受到赞赏.谢谢!
更新: 除了验证用户输入外,如何保护网站免受地址栏的限制?
感谢您的投入!我很感激!
我编写了一个微模板实用程序,它使用innerHTML 根据用户输入(纯文本字符串或html 字符串)在网页中注入html 片段。
我主要担心的是恶意脚本注入的风险。脚本可以通过脚本标签或内联事件(例如 img onload、div onmouseover)注入。
有没有办法清理 html 字符串以防止此类注入?另外,还有其他我应该注意的脚本注入方法吗?
javascript ×8
script-tag ×2
security ×2
android ×1
asp.net-mvc ×1
escaping ×1
gwt ×1
html ×1
innerhtml ×1
ios ×1
isolation ×1
java ×1
jsp ×1
labjs ×1
mediawiki ×1
react-native ×1
regex ×1
vb.net ×1
web-scraping ×1
webassembly ×1
webview ×1
xss ×1