Từ 1 tới 5 trên tổng số 5 kết quả

Đề tài: Ngăn chặn kết nối tới 1 website trong lập trình C# như thế nào?

  1. #1
    Ngày gia nhập
    02 2008
    Bài viết
    4

    Wink Ngăn chặn kết nối tới 1 website trong lập trình C# như thế nào?

    mình muốn viết 1 phần mềm kiểu như ngăn chặn web đen bằng C#

    mình có thể chặn đc. trên ie nhưng khi ng` dùng sử dụng trình duyệt khác (ví dụ như Firefox) thì chịu

    các bạn có thể cho mình 1 cách giải quyết đc. ko

    làm sao để can thiệp vào các kết nối trên internet trong C#

  2. #2
    Ngày gia nhập
    10 2007
    Bài viết
    21

    Thế bác show code cái bác làm được trên IE cho anh em xem nào.

  3. #3
    Ngày gia nhập
    11 2007
    Bài viết
    294

    Có phải bạn dùng BHO không ^^!
    Is the moon rising...

  4. #4
    Ngày gia nhập
    02 2008
    Bài viết
    4

    sặc
    cái code can thiệp vào ie là do thèng MS hỗ trợ mà
    Visual C# Code:
    1. using System;
    2. using System.Drawing;
    3. using System.Collections;
    4. using System.ComponentModel;
    5. using System.Windows.Forms;
    6. using System.Data;
    7. using System.IO;
    8.  
    9. namespace IEActivityMonitor
    10. {
    11.     public class ActivityMonitor : System.Windows.Forms.Form
    12.     {
    13.         private System.Windows.Forms.ListBox listBox1;
    14.         private SHDocVw.InternetExplorer browser;          
    15.         private SHDocVw.ShellWindows shellWindows;         
    16.         private ArrayList Current_IE_Handles;      
    17.         private System.ComponentModel.Container components = null;
    18.  
    19.         #region Constructor
    20.  
    21.         public ActivityMonitor()
    22.         {
    23.             InitializeComponent();
    24.             Current_IE_Handles=new ArrayList();        
    25.             shellWindows=new SHDocVw.ShellWindowsClass();          
    26.             shellWindows.WindowRegistered+=new SHDocVw.DShellWindowsEvents_WindowRegisteredEventHandler(shellWindows_WindowRegistered);
    27.             shellWindows.WindowRevoked+=new SHDocVw.DShellWindowsEvents_WindowRevokedEventHandler(shellWindows_WindowRevoked);
    28.            
    29.         }
    30.  
    31.         #endregion
    32.  
    33.         #region Dispose
    34.  
    35.         protected override void Dispose( bool disposing )
    36.         {
    37.             if( disposing )
    38.             {
    39.                 if (components != null)
    40.                 {
    41.                     components.Dispose();
    42.                 }
    43.             }
    44.             base.Dispose( disposing );
    45.         }
    46.  
    47.         #endregion
    48.  
    49.         #region Windows Form Designer generated code
    50.         /// <summary>
    51.         /// Required method for Designer support - do not modify
    52.         /// the contents of this method with the code editor.
    53.         /// </summary>
    54.         private void InitializeComponent()
    55.         {
    56.             this.listBox1 = new System.Windows.Forms.ListBox();
    57.             this.SuspendLayout();
    58.             //
    59.             // listBox1
    60.             //
    61.             this.listBox1.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((System.Byte)(0)));
    62.             this.listBox1.Location = new System.Drawing.Point(0, 0);
    63.             this.listBox1.Name = "listBox1";
    64.             this.listBox1.Size = new System.Drawing.Size(360, 316);
    65.             this.listBox1.TabIndex = 0;
    66.             //
    67.             // Form1
    68.             //
    69.             this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
    70.             this.ClientSize = new System.Drawing.Size(360, 318);
    71.             this.Controls.Add(this.listBox1);
    72.             this.Name = "Form1";
    73.             this.Text = "Browser Activity Monitor";        
    74.             this.ResumeLayout(false);
    75.  
    76.         }
    77.         #endregion
    78.  
    79.         // THE MAIN ENTRY POINT FOR THE APPLICATION.       
    80.         [STAThread]
    81.         static void Main()
    82.         {
    83.             Application.Run(new ActivityMonitor());
    84.         }      
    85.  
    86.         // THIS EVENT IS FIRED WHEN THE BROWSER IS JUST ABOUT THE NAVIGATE TO A WEBSITE
    87.         private void browser_BeforeNavigate2(object a,ref object b,ref object c,ref object d,ref object e,ref object f,ref bool g)
    88.         {
    89.             this.listBox1.Items.Add(browser.HWND.ToString()+ " : "+b.ToString());          
    90.         }
    91.  
    92.         // THIS EVENT IS FIRED WHEN THE A NEW BROWSER IS CLOSED
    93.         private void shellWindows_WindowRevoked(int z)     
    94.         {          
    95.             string filnam;
    96.             ArrayList Closed_IE=new ArrayList();
    97.            
    98.             foreach (SHDocVw.InternetExplorer ie in shellWindows)
    99.             {
    100.                 filnam = Path.GetFileNameWithoutExtension(ie.FullName).ToLower();
    101.    
    102.                 if (filnam.Equals("iexplore"))
    103.                 {
    104.                     Closed_IE.Add(ie.HWND.ToString());                                     
    105.                 }
    106.             }  
    107.        
    108.             for (int i=0; i<this.Current_IE_Handles.Count; i++)
    109.             {
    110.                 bool check=false;
    111.  
    112.                 for (int j=0; j<Closed_IE.Count; j++)
    113.                 {
    114.                     if (Convert.ToInt32(this.Current_IE_Handles[i])==Convert.ToInt32(Closed_IE[j]))
    115.                         check=true;
    116.                 }
    117.  
    118.                 if (check==false)
    119.                 {
    120.                     this.listBox1.Items.Add("Browser Closed : Handle( "+this.Current_IE_Handles[i].ToString()+" )");
    121.                     this.Current_IE_Handles.RemoveAt(i);
    122.                     break;
    123.                 }
    124.             }
    125.         }              
    126.  
    127.         // THIS EVENT IS FIRED WHEN THE A NEW BROWSER IS OPEN
    128.         private void shellWindows_WindowRegistered(int z)
    129.         {          
    130.             string filnam;     
    131.            
    132.             foreach (SHDocVw.InternetExplorer ie in shellWindows)
    133.             {
    134.                 filnam = Path.GetFileNameWithoutExtension(ie.FullName).ToLower();
    135.    
    136.                 if (filnam.Equals("iexplore"))
    137.                 {
    138.                     browser = ie;  
    139.                        
    140.                     bool check=true;
    141.  
    142.                     for (int i=0; i<Current_IE_Handles.Count; i++)
    143.                     {
    144.                         if (Current_IE_Handles[i].ToString()==browser.HWND.ToString())
    145.                         {
    146.                             check=false;
    147.                         }
    148.                     }
    149.                        
    150.                     if (check==true)
    151.                     {
    152.                         Current_IE_Handles.Add(browser.HWND.ToString());
    153.                         this.listBox1.Items.Add("Browser Open : Handle( "+browser.HWND.ToString()+" )");
    154.                         browser.BeforeNavigate2+=new SHDocVw.DWebBrowserEvents2_BeforeNavigate2EventHandler(browser_BeforeNavigate2);                                                                      
    155.                     }                      
    156.                 }
    157.             }          
    158.         }
    159.     }
    160. }
    đây là code mà khi ng` dùng sử dụng ie vào 1 trang web nào đó thì nó sẽ bắt đc. trang web đó và chuyển địa chỉ trang web đó vào 1 cái listbox

  5. #5
    Ngày gia nhập
    05 2007
    Bài viết
    17

    Cách tốt nhất là bạn chặn theo IP. Chặn connect tới IP đó là dễ nhất, chặn theo URL chỉ dùng được khi bạn dùng giao thức capture gói tin đi qua card mạng trên máy tính.
    http://www.sonnb.com Offline Priston Tale Zone

Các đề tài tương tự

  1. bán tấm compact và thi công vách ngăn vệ sinh, vách ngăn văn phòng, vách ngăn di động, sàn nâng kỹ thuật
    Gửi bởi marketeronline trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 24-09-2013, 01:14 AM
  2. Thế giới vách ngăn dùng trong văn phòng
    Gửi bởi baobinh trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 01-03-2013, 01:54 PM
  3. Cấu hình IIS để chạy website như thế nào?
    Gửi bởi duytuyen26 trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 0
    Bài viết cuối: 17-05-2011, 12:15 PM
  4. Ngăn chặn việc gấp đôi dữ liệu trong datagridview!
    Gửi bởi ThuHa1610 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 8
    Bài viết cuối: 16-04-2011, 01:16 PM
  5. Cấu trúc ngăn xếp và các thao tác trên ngăn xếp?
    Gửi bởi master_cheat001 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 1
    Bài viết cuối: 02-11-2010, 11:43 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn