1. 如何在WebBrowser控制項中注入Javascript腳本
在WebBrowser中注入並執行javascript代碼
更多 0
c#WebBrowserWinForm
WebBrowser控制項用來顯示網頁內容,有時候我們需要在網頁中執行一段自定義的javascript代碼。
如下是實現和注釋:
//找到head元素
HtmlElement head = webBrowser1.Document.GetElementsByTagName("head")[0];
//創建script標簽
HtmlElement scriptEl = webBrowser1.Document.CreateElement("script");
IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement;
//給script標簽加js內容
element.text = "function sayHello() { alert('hello') }";
//將script標簽添加到head標簽中
head.AppendChild(scriptEl);
//執行js代碼
webBrowser1.Document.InvokeScript("sayHello");
2. Android WebView 怎麼注入js文件啊,懇求大神幫忙
第一步:
mainfest.xml中加入網路許可權
<uses-permission android:name="android.permission.INTERNET" />
第二步:
載入本地寫好的html文件(定義好js中提供給android調用的方法 funFromjs(),和android提供給js調用的對象介面fun1FromAndroid(String name)),放在 assets目錄下。
<body>
<a>js中調用本地方法</a>
<script>
function funFromjs(){
document.getElementById("helloweb").innerHTML="HelloWebView,i'm from js";
}
var aTag = document.getElementsByTagName('a')[0];
aTag.addEventListener('click', function(){
//調用android本地方法
myObj.fun1FromAndroid("調用android本地方法fun1FromAndroid(String name)!!");
return false;
}, false);
</script>
<p></p>
<div id="helloweb">
</div>
</body>
第三步:
實現android工程與js交互的相關代碼
android主題代碼:
public class JavaScriptObject {
Context mContxt;
@JavascriptInterface //sdk17版本以上加上註解
public JavaScriptObject(Context mContxt) {
this.mContxt = mContxt;
}
public void fun1FromAndroid(String name) {
Toast.makeText(mContxt, name, Toast.LENGTH_LONG).show();
}
public void fun2(String name) {
Toast.makeText(mContxt, "調用fun2:" + name, Toast.LENGTH_SHORT).show();
}
}
3. 如何向網頁注入js腳本
清除緩存做不到
刷新 window.location.reload();
點贊要看該網頁的設計
4. js注入,要怎麼解決
親,
和SQL注入防禦一樣,XSS攻擊也是利用了Web頁面的編寫疏忽,所以還有一種方法就是從Web應用開發的角度來避免:
步驟1、對所有用戶提交內容進行可靠的輸入驗證,包括對URL、查詢關鍵字、HTTP頭、POST數據等,僅接受指定長度范圍內、採用適當格式、採用所預期的字元的內容提交,對其他的一律過濾。
步驟2、實現Session標記(session tokens)、CAPTCHA系統或者HTTP引用頭檢查,以防功能被第三方網站所執行。
步驟3、確認接收的的內容被妥善的規范化,僅包含最小的、安全的Tag(沒有javascript),去掉任何對遠程內容的引用(尤其是樣式表和javascript),使用HTTP only的cookie。
當然,如上操作將會降低Web業務系統的可用性,用戶僅能輸入少量的制定字元,人與系統間的交互被降到極致,僅適用於信息發布型站點。並且考慮到很少有Web編碼人員受過正規的安全培訓,很難做到完全避免頁面中的XSS漏洞。
5. java web如何防止html,js注入
在java Web體系中,可以寫自定義標簽,過濾用戶輸入,也可以寫一個filter過濾器。比如說自定義標簽。
開發步驟:
1 寫一個標簽處理類
2在/WEB-INF/目錄下,寫一個*.tld文件,目的是讓Web容器知道自定義標簽和標簽處理類的對應關系
3 在JSP頁面中,通過<%@taglib%>指令引用標簽庫.
4 部署web應用,訪問simple.jsp即可
其中,標簽處理類可以這樣寫,轉義大於號,小於號等特殊符號。
packagecn.itcast.web.jsp.tag;
importjava.io.IOException;
importjava.io.StringWriter;
importjavax.servlet.jsp.JspException;
importjavax.servlet.jsp.PageContext;
importjavax.servlet.jsp.tagext.JspFragment;
importjavax.servlet.jsp.tagext.SimpleTagSupport;
//<simple:filter>標簽處理類
{
publicvoiddoTag()throwsJspException,IOException{
JspFragmentjspFragment=this.getJspBody();
StringWriterwriter=newStringWriter();
jspFragment.invoke(writer);
Stringtemp=writer.getBuffer().toString();
//結果必定是轉義後的字元串
temp=filter(temp);
PageContextpageContext=(PageContext)this.getJspContext();
pageContext.getOut().write(temp);
}
publicStringfilter(Stringmessage){
if(message==null)
return(null);
charcontent[]=newchar[message.length()];
message.getChars(0,message.length(),content,0);
StringBufferresult=newStringBuffer(content.length+50);
for(inti=0;i<content.length;i++){
switch(content[i]){
case'<':
result.append("<");
break;
case'>':
result.append(">");
break;
case'&':
result.append("&");
break;
case'"':
result.append(""");
break;
default:
result.append(content[i]);
}
}
return(result.toString());
}
}
6. web3.js 安卓不通
web3.js安卓不通需要完成前後端的交互。
更新前端的界面等。一般來說,只需要調用下面一句話就可以調用JS中alipayCallBack方法。意思就是web認為message是一個變數名,而不是一個變數值。查了一下,發現JS定義String變數的時候用單引號,而JAVA是使用雙引號。
7. 怎樣在ie瀏覽器中注入js文件
現在有IE瀏覽器進程,已經打開某網站,
希望通過C# 讓此IE窗口執行某腳本,如<script>alert();</script>
1,不寫IE插件
2,不藉助第三方瀏覽器,只針對IE
3,不使用Winform的WebBrowser控制項.
知道的朋友給個思路
補充說明:
我使用下面這段代碼試了,'aaaaaaaaa'會在頁面中顯示出來,但是後面那段js腳本卻沒有運行.很奇怪.
ShellWindows m_IEFoundBrowsers = new ShellWindowsClass();
foreach (InternetExplorer Browser in m_IEFoundBrowsers)
{
if (Browser.Document is HTMLDocumentClass)
{
HTMLDocument doc = Browser.Document as HTMLDocumentClass;
doc.body.innerHTML += "aaaaaaaaa<script type=\"text/javascript\">alert(11);</script>";
8. 如何將自己寫的js注入到網站網頁中
首先你要確認你的是js碼,只有js代碼才能被調用。
將寫好的js代碼復制到txt文件中,另存為.js文件,保存在你的網站目錄下。我保存在桌面上。(注在網頁上調用一定要保存在網頁上)
保存好了之後,我的桌面就有一個新建.js的介紹文件,現在看看效果吧。隨便新建一個網頁,在<body></body>(注我演示的沒有body,是最簡單的網頁)之間插入<script language="javascript" src="js文件地址"></script>,我的是放在桌面上的,所以地址是下面的這個
保存為html文件之後,打開來看看效果吧。
如上圖所示,在網頁的源文件裡面,顯示的不是
<input type=button name="Submit1" value="郭強" size=10 class=s02
style="background-color:rgb(235,207,22)">而是這段代碼轉換成js後js文件所在的位置。
9. 什麼是js注入
JavaScript注入就是在瀏覽器地址欄中輸入一段js代碼,用來改變頁面js變數、頁面標簽的內容。
使用Javascript注入,用戶不需要關閉或保存網頁就可以改變其內容,這是在瀏覽器的地址欄上完成的。命令的語法如下:
javascript:alert(#command#)