整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          收到不明郵件需警惕,安全公司警告黑客架設假OneDr

          收到不明郵件需警惕,安全公司警告黑客架設假OneDrive網站釣魚

          T之家 8 月 4 日消息,安全公司 Trellix 發(fā)布報告指出近來有黑客架設山寨 OneDrive 網站,以“連不上服務”為幌子誘導用戶運行 PowerShell 釣魚命令,從而讓受害者“自己給自己電腦裝上木馬”。

          據悉,黑客首先架設山寨 OneDrive 網站,之后向用戶批量發(fā)送帶有 HTML 附件的釣魚郵件,該附件聲稱用戶收到一項名為“Reports.pdf”的文件共享請求,當用戶點擊郵件附帶的鏈接進入“OneDrive 網站”后,相關網站就會聲稱用戶遇到錯誤代碼 Error 0x8004de86,要求用戶“手動更新 DNS 緩存”來解決問題,之后便會提供一系列 PowerShell 命令誘導用戶自己給自己裝上木馬。

          IT之家獲悉,在用戶在終端輸入命令后,系統(tǒng)便會自動下載 AutoIT 惡意腳本,在腳本部署完畢后,電腦便會顯示“操作成功”并要求用戶“重新加載網頁”,安全公司提到這樣看似“正常”的操作反倒令受害者難以察覺情況有異。

          為了防止此類攻擊,安全公司警告用戶應提高警惕,不要輕易查看來路不明的電子郵件,更不應當點擊這些電子郵件中的附件 / 網頁鏈接,從而減少遭到黑客入侵的風險。



          路:


          1.創(chuàng)建一個表單來填寫用戶信息(姓名,email,收件人,評論)

          2.在views.py文件中創(chuàng)建一個視圖(view)來操作發(fā)布的數據和發(fā)送email

          3.在blog應用的urls.py中為新的視圖(view)添加一個URL模式

          4.創(chuàng)建一個模板(template)來展示這個表單


          1.使用Django 創(chuàng)建表單

          Django有一個內置的表單框架允許你通過簡單的方式來創(chuàng)建表單。這個表單框架允許你定義你的表單字段,指定這些字段必須展示的方式,以及指定這些字段如何驗證輸入的數據。Django表單框架還提供了一種靈活的方式來渲染表單以及操作數據。

          • Form創(chuàng)建一個標準表單
          • ModelForm創(chuàng)建一個可用于創(chuàng)建或者更新model實例的表單

          在blog應用中創(chuàng)建forms.py


          表單可以存在你的Django項目的任何地方,但按照慣例將它們放在每一個應用下面的forms.py文件中


          name字段是一個CharField。這種類型的字段被渲染成<input type="text">HTML元素。每種字段類型都有默認的控件來確定它在HTML中的展示形式。通過改變控件的屬性可以重寫默認的控件。在comment字段中,我們使用<textarea></textarea>HTML元素而不是使用默認的<input>元素來顯示它。


          字段驗證取決于字段類型。例如,email和to字段是EmailField,這兩個字段都需要一個有效的email地址,否則字段驗證將會拋出一個forms.ValidationError異常導致表單驗證不通過。在表單驗證的時候其他的參數也會被考慮進來:我們將name字段定義為一個最大長度為25的字符串;通過設置required=False讓comments的字段可選。所有這些也會被考慮到字段驗證中去。


          2.在視圖中操作表單

          當表單成功提交后你必須創(chuàng)建一個新的視圖(views)來操作表單和發(fā)送email。編輯blog應用下的views.py文件,添加以下代碼:



          該視圖(view)完成了以下工作:

          · 我們定義了post_share視圖,參數為request對象和post_id。

          · 我們使用get_object_or_404快捷方法通過ID獲取對應的帖子,并且確保獲取的帖子有一個published狀態(tài)。

          · 我們使用同一個視圖(view)來展示初始表單和處理提交后的數據。我們會區(qū)別被提交的表單和不基于這次請求方法的表單。我們將使用POST來提交表單。如果我們得到一個GET請求,一個空的表單必須顯示,而如果我們得到一個POST請求,則表單需要提交和處理。因此,我們使用request.method=='POST'來區(qū)分這兩種場景。


          下面是展示和操作表單的過程:


          1.通過GET請求視圖(view)被初始加載后,我們創(chuàng)建一個新的表單實例,用來在模板(template)中顯示一個空的表單:


          form=EmailPostForm()

          2.當用戶填寫好了表單并通過POST提交表單。之后,我們會用保存在request.POST中提交的數據創(chuàng)建一個表單實例。


          if request.method=='POST':

          # Form was submitted

          form=EmailPostForm(request.POST)

          3.在以上步驟之后,我們使用表單的is_valid()方法來驗證提交的數據。這個方法會驗證表單引進的數據,如果所有的字段都是有效數據,將會返回True。一旦有任何一個字段是無效的數據,is_valid()就會返回False。你可以通過訪問 form.errors來查看所有驗證錯誤的列表。

          4如果表單數據驗證沒有通過,我們會再次使用提交的數據在模板(template)中渲染表單。我們會在模板(template)中顯示驗證錯誤的提示。

          5.如果表單數據驗證通過,我們通過訪問form.cleaned_data獲取驗證過的數據。這個屬性是一個表單字段和值的字典。


          3.使用Django發(fā)送email

          使用Django發(fā)送email非常簡單。首先,你需要有一個本地的SMTP服務或者通過在你項目的settings.py文件中添加以下設置去定義一個外部SMTP服務器的配置:

          • EMAIL_HOST: SMTP服務地址。默認本地。
          • EMAIL_POSR: SMATP服務端口,默認25。
          • EMAIL_HOST_USER: SMTP服務的用戶名。
          • EMAIL_HOST_PASSWORD: SMTP服務的密碼。
          • EMAIL_USE_TLS: 是否使用TLS加密連接。
          • EMAIL_USE_SSL: 是否使用隱式的SSL加密連接。


          運行命令python manage.py shell來打開Python shell,發(fā)送一封email如下所示:

          send_mail()方法需要這些參數:郵件主題,內容,發(fā)送人以及一個收件人的列表。通過設置可選參數fail_silently=False,我們告訴這個方法如果email沒有發(fā)送成功那么需要拋出一個異常。如果你看到輸出是1,證明你的email發(fā)送成功了。


          現(xiàn)在,我們要將以上代碼添加到我們的視圖(view)中。在blog應用下的views.py文件中編輯post_share視圖


          請注意,我們聲明了一個sent變量并且當帖子被成功發(fā)送時賦予它True。當表單成功提交的時候,我們之后將在模板(template)中使用這個變量顯示一條成功提示。由于我們需要在email中包含帖子的超鏈接,所以我們通過使用post.get_absolute_url()方法來獲取到帖子的絕對路徑。我們將這個絕對路徑作為request.build_absolute_uri()的輸入值來構建一個完整的包含了HTTP schema和主機名的url。我們通過使用驗證過的表單數據來構建email的主題和消息內容并最終給表單to字段中包含的所有email地址發(fā)送email。


          現(xiàn)在你的視圖(view)已經完成了,別忘記為它去添加一個新的URL模式。打開你的blog應用下的urls.py文件添加post_share的URL模式如下所示:


          4.在模板中渲染表單

          在通過創(chuàng)建表單,編寫視圖(view)以及添加URL模式后,我們就只剩下為這個視圖(view)添加模板(tempalte)了。在blog/templates/blog/post/目錄下創(chuàng)建一個新的文件并命名為share.html。在該文件中添加如下代碼:


          編輯你的blog/post/detail.html模板(template),在{{ post.body|linebreaks }}變量后面添加如下的鏈接來分享帖子的URL:


          請記住,我們通過使用Django提供的{% url %}模板(template)標簽(tag)來動態(tài)的生成URL。我們以blog為命名空間,以post_share為URL,同時傳遞帖子ID作為參數來構建絕對的URL。


          現(xiàn)在,通過python manage.py runserver命令來啟動開發(fā)服務器,在瀏覽器中打開 http://127.0.0.1:8000/blog/ 。點擊任意一個帖子標題查看詳情頁面。在帖子內容的下方,你會看到我們剛剛添加的鏈接,如下所示:

          度站長平臺提供的死鏈提交工具,可將網站存在的死鏈(協(xié)議死鏈、404頁面)進行提交,可快速刪除死鏈,幫助網站SEO優(yōu)化。在提交死鏈的文件中逐個手動填寫死鏈的話太麻煩,工作中我們提倡復雜自動化,所以本文我們一起交流分享Apache服務中通過shell腳本整理網站死鏈,便于我們提交。

          1.配置Apache記錄搜索引擎

          Apache是目前網站建設最為主流的web服務,但是apache的日志文件默認是不記錄百度、谷歌等各大搜索引擎的爬取程序的,所以首先需要我們設置Apache的配置文件。

          找到Apache的配置文件httpd.conf,在配置文件中找到下面兩行:

          CustomLog "logs/access_log" common
           #CustomLog "logs/access_log" combined
          

          默認采用的是common,這里我們只需要將common這一行前面加#注釋掉,然后將combined這一行前的#去掉即可。然后保存重啟Apache服務。

          注:如果你的服務器上添加了多個站點,每個站點有單獨的配置文件,則我們只需要在相應站點的配置文件中設置CustomLog項即可,例如:

          vim /usr/local/apache/conf/vhost/www.chanzhi.org.conf
           ServerAdmin [email protected] DocumentRoot "/data/wwwroot/www.chanzhi.org"
           ServerName www.chanzhi.org
           ServerAlias chanzhi.org
           ErrorLog "/data/wwwlogs/www.chanzhi.org_error_apache.log"
           CustomLog "/data/wwwlogs/www.chanzhi.org_apache.log" combined
           SetOutputFilter DEFLATE
           Options FollowSymLinks ExecCGI
           Require all granted
           AllowOverride All
           Order allow,deny
           Allow from all
           DirectoryIndex index.html index.php
          

          下面是配置前后的網站日志記錄格式:

          配置前:

          配置后:

          2.編寫shell腳本

          我們通過shell腳本獲取網站日志中指定爬蟲的抓取記錄,然后匯總到一個文件中,便于后期使用。代碼如下,比如保存為deathlink.sh

          #!/bin/bash
          #初始化變量
          #定義蜘蛛UA信息(默認是百度蜘蛛)
          UA='+http://www.baidu.com/search/spider.html'
           
          #前一天的日期(apache日志)
          DATE=`date +%Y%m%d -d "1 day ago"`
           
          #定義日志路徑
          logfile=/data/wwwlogs/www.chanzhi.org_apache.log-${DATE}.log
           
          #定義死鏈文件存放路徑
          deathfile=/data/wwwroot/www.chanzhi.org/deathlink.txt
           
          #定義網站訪問地址
          website=http://www.chanzhi.org
           
          #分析日志并保存死鏈數據
          for url in `awk -v str="${UA}" '$9=="404" && $15~str {print $7}' ${logfile}`
          do
           grep -q "$url" ${deathfile} || echo ${website}${url} >>${deathfile}
          done
          

          大家在使用該腳本時,根據自己服務器情況調整下路徑和字段即可,然后執(zhí)行腳本,:

          bash deathlink.sh
          

          3.提交死鏈

          執(zhí)行上面腳本時候,就會在指定目錄下生成包含所有獲取的404頁面鏈接的文件,每個連接占一行。例如:

          最后在站長平臺提交死鏈頁面中,填寫自己的死鏈文件地址即可,例如:

          百度在審核通過之后,會將已經收錄的失效鏈接刪除,以避免失效頁面鏈接對網站造成不良的影響。


          主站蜘蛛池模板: 91一区二区三区四区五区| 国精产品一区一区三区有限公司| 91无码人妻精品一区二区三区L| 波霸影院一区二区| 精品乱码一区二区三区在线 | 国产欧美色一区二区三区| 亚洲福利视频一区| 国产未成女一区二区三区| 91精品乱码一区二区三区| 精品在线视频一区| 国精产品一区一区三区| 国产成人精品久久一区二区三区| 91一区二区在线观看精品| 国产一区二区三区电影| 成人精品一区二区三区不卡免费看| 久久久精品人妻一区二区三区 | 亲子乱AV视频一区二区| 3D动漫精品啪啪一区二区下载| 亚洲AV无码一区二三区| 99久久精品国产一区二区成人| 一区二区高清视频在线观看| 亚洲一区二区三区四区视频| 色妞AV永久一区二区国产AV| 亚洲av永久无码一区二区三区| 伦理一区二区三区| 国产产一区二区三区久久毛片国语| 亚洲日本va午夜中文字幕一区| 成人在线观看一区| 成人免费视频一区| 四虎在线观看一区二区| 中文字幕av日韩精品一区二区| 国产一区二区三区乱码| 亚洲日本一区二区三区在线| 国产精品538一区二区在线| 在线观看精品一区| 欧洲亚洲综合一区二区三区| 无码福利一区二区三区| 无码日本电影一区二区网站| 无码人妻一区二区三区免费| 无码少妇A片一区二区三区| 濑亚美莉在线视频一区|