begin process at 2010 02 10 10:31:33
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Système

 > INTERDIRE L'ACCÈS À CERTAIN SITES INTERNET

INTERDIRE L'ACCÈS À CERTAIN SITES INTERNET


 Information sur la source

Attention: ce code a été marqué comme suspect par un admin, il peut donc être dangereux. Ce code a été laissé sur le site dans un but pédagogique, ne l'exécutez pas si vous ne comprenez pas son contenu!
Note :
Aucune note
Catégorie :Système Classé sous :hosts, StringList, interdire, Accès, sites Niveau :Débutant Date de création :02/03/2008 Vu / téléchargé :8 933 / 398

Auteur : HAFTARIFOUAD

Ecrire un message privé
Site perso
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Bonjour ;-)

Ben c'est un petit soft permettant d'interdire l'accès à certain sites Internet.

Grace à ce programme vous aller découvrie:

1-C'est quoi le fichier hosts
2-Comment charger un hosts dans une StringList
3-Ajouter/Supprimer des lignes du fichier
4-Enregistrer Une StringList dans un fichier hosts
5-Et enfin, comment Interdire l'accès à certain sites Internet via un programme crée en Delphi ;-)

Pour conclûre, je souhaite que mon exemple vous servira dans vos projets

Mes salutations les plus profondes distinguées.

Bonne chance et plein de succès.

Source

  • unit Afirst;
  • interface
  • uses
  • Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  • Dialogs, StdCtrls, ComCtrls, Buttons, ExtCtrls;
  • type
  • TAFirstPage = class(TForm)
  • PageControl: TPageControl;
  • TabSheet1: TTabSheet;
  • TabSheet2: TTabSheet;
  • MmHost: TMemo;
  • LBSites: TListBox;
  • SBDelete: TSpeedButton;
  • Panel: TPanel;
  • EditSites: TEdit;
  • SBAdd: TSpeedButton;
  • LabelAdd: TLabel;
  • GroupBox: TGroupBox;
  • SBClose: TSpeedButton;
  • SpeedButton1: TSpeedButton;
  • LLSI: TLabel;
  • procedure FormCreate(Sender: TObject);
  • procedure SBCloseClick(Sender: TObject);
  • procedure SBAddClick(Sender: TObject);
  • procedure SBDeleteClick(Sender: TObject);
  • procedure SpeedButton1Click(Sender: TObject);
  • procedure EditSitesKeyPress(Sender: TObject; var Key: Char);
  • procedure FormKeyPress(Sender: TObject; var Key: Char);
  • private
  • { Déclarations privées }
  • public
  • { Déclarations publiques }
  • end;
  • var
  • AFirstPage: TAFirstPage;
  • ListeSites:TStrings;
  • implementation
  • {$R *.dfm}
  • procedure TAFirstPage.FormCreate(Sender: TObject);
  • var Hosts:string;
  • Lignes:integer;
  • begin
  • LBSites.Clear; // Vider la ListBox
  • MmHost.Clear; // Vider le memo
  • MmHost.Lines.LoadFromFile('C:\Windows\System32\Drivers\etc\hosts');// remplir le memo à partir du fichier hosts
  • ListeSites:=TStringList.Create; // Création d'une StringList
  • ListeSites.LoadFromFile('C:\Windows\System32\Drivers\etc\hosts');// charger la variable ListeSites à partir du fichier hosts
  • // maintenant on doit remplir notre ListBox à partir du hosts mais on a
  • // pas besoin d'avoir toutes le contenue du hosts, donc, on doit avoir que la
  • // liste des sites intendits
  • // si on appercoit le memo on constate que la liste des sites interdits
  • // commence par la Ligne 19, donc
  • for Lignes:=19 to ListeSites.Count-1 do
  • begin
  • hosts:=ListeSites.Strings[lignes];
  • if hosts<>'' then
  • LBSites.Items.Add(copy(hosts,17,length(hosts)));
  • end;
  • end;
  • procedure TAFirstPage.SBCloseClick(Sender: TObject);
  • begin
  • Application.Terminate; // Fermer l'application
  • end;
  • procedure TAFirstPage.SBAddClick(Sender: TObject);
  • begin
  • // Si EditSites n'est pas vide ajouter son contenue à LBSites si non Affichier le message
  • if EditSites.GetTextLen<>0 then
  • begin
  • // Ajouter le contenue de l'EditSites à notre LBSites (ListBox);
  • LBSites.Items.Add(EditSites.Text);
  • // Séléctionner le contenue de l'EditSites
  • EditSites.SelectAll;
  • // Ajouter le contenu de l'EditSites
  • ListeSites.Add('127.0.0.1 '+EditSites.Text);
  • // si non Affichier le message
  • end else begin
  • ShowMessage('Aucun site à interdire');
  • end;
  • end;
  • procedure TAFirstPage.SBDeleteClick(Sender: TObject);
  • var Numero:integer;
  • begin
  • Numero:=LBSites.ItemIndex;// Avoir l'index de la LBSites;
  • LBSites.DeleteSelected;// Supprimer l'item séléctionné;
  • ListeSites.Delete(19+Numero); // 19 Lignes + l'index de la LBSites varbiable numéro;
  • end;
  • procedure TAFirstPage.SpeedButton1Click(Sender: TObject);
  • begin
  • ListeSites.SaveToFile('C:\Windows\System32\Drivers\etc\hosts'); // Sauvegarder ListeSites
  • end;
  • procedure TAFirstPage.EditSitesKeyPress(Sender: TObject; var Key: Char);
  • begin
  • if key=#13 then SBAdd.Click;
  • end;
  • procedure TAFirstPage.FormKeyPress(Sender: TObject; var Key: Char);
  • begin
  • // n'oublie pas de modifier KeyPreview
  • if key = #27 then // si la touche Echap est cliquée
  • SBClose.click;
  • end;
  • end.
unit Afirst;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, Buttons, ExtCtrls;

type
  TAFirstPage = class(TForm)
    PageControl: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    MmHost: TMemo;
    LBSites: TListBox;
    SBDelete: TSpeedButton;
    Panel: TPanel;
    EditSites: TEdit;
    SBAdd: TSpeedButton;
    LabelAdd: TLabel;
    GroupBox: TGroupBox;
    SBClose: TSpeedButton;
    SpeedButton1: TSpeedButton;
    LLSI: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure SBCloseClick(Sender: TObject);
    procedure SBAddClick(Sender: TObject);
    procedure SBDeleteClick(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure EditSitesKeyPress(Sender: TObject; var Key: Char);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;

var
  AFirstPage: TAFirstPage;
  ListeSites:TStrings;
implementation

{$R *.dfm}

procedure TAFirstPage.FormCreate(Sender: TObject);
var Hosts:string;
    Lignes:integer;
begin
LBSites.Clear; // Vider la ListBox

MmHost.Clear;    // Vider le memo

MmHost.Lines.LoadFromFile('C:\Windows\System32\Drivers\etc\hosts');// remplir le memo à partir du fichier hosts

ListeSites:=TStringList.Create; // Création d'une StringList

ListeSites.LoadFromFile('C:\Windows\System32\Drivers\etc\hosts');// charger la variable ListeSites à partir du fichier hosts
// maintenant on doit remplir notre ListBox à partir du hosts mais on a
// pas besoin d'avoir toutes le contenue du hosts, donc, on doit avoir que la
// liste des sites intendits
// si on appercoit le memo on constate que la liste des sites interdits
// commence par la Ligne 19, donc

for Lignes:=19 to ListeSites.Count-1 do
begin
hosts:=ListeSites.Strings[lignes];
if hosts<>'' then
LBSites.Items.Add(copy(hosts,17,length(hosts)));
end;

end;

procedure TAFirstPage.SBCloseClick(Sender: TObject);
begin
Application.Terminate; // Fermer l'application
end;

procedure TAFirstPage.SBAddClick(Sender: TObject);
begin
// Si EditSites n'est pas vide ajouter son contenue à LBSites si non Affichier le message
if EditSites.GetTextLen<>0 then
begin
// Ajouter le contenue de l'EditSites à notre LBSites (ListBox);
LBSites.Items.Add(EditSites.Text);
// Séléctionner le contenue de l'EditSites
EditSites.SelectAll;
// Ajouter le contenu de l'EditSites
ListeSites.Add('127.0.0.1       '+EditSites.Text);
// si non Affichier le message
end else begin
ShowMessage('Aucun site à interdire');
end;

end;

procedure TAFirstPage.SBDeleteClick(Sender: TObject);
var Numero:integer;
begin
Numero:=LBSites.ItemIndex;// Avoir l'index de la LBSites;
LBSites.DeleteSelected;// Supprimer l'item séléctionné;
ListeSites.Delete(19+Numero); // 19 Lignes + l'index de la LBSites varbiable numéro;
end;

procedure TAFirstPage.SpeedButton1Click(Sender: TObject);
begin
ListeSites.SaveToFile('C:\Windows\System32\Drivers\etc\hosts'); // Sauvegarder ListeSites
end;

procedure TAFirstPage.EditSitesKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then SBAdd.Click;
end;

procedure TAFirstPage.FormKeyPress(Sender: TObject; var Key: Char);
begin
// n'oublie pas de modifier KeyPreview
if key = #27 then // si la touche Echap est cliquée
SBClose.click;
end;

end.

 Conclusion

Toutes crétiques, interventoins, commentaires ... les bienvenus

Désolé pour les fautes de frappes ou d'orthographe.

et bonne chance à tt le monde.

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture IMAGE DANS UN TDBGRID
Source avec Zip Source avec une capture MESSAGEDLG PERSONNALISÉ
Source avec Zip Source avec une capture HINT PAR CELLULE DANS UN TDBGRID
Source avec Zip Source avec une capture DEVELOPERBIBLIO
Source avec Zip Source avec une capture CYBERCOMPTEUR

 Sources de la même categorie

Source avec Zip Source avec une capture GLIBWMI VCL COMPONENT LIBRARY 1.6B par Neftali
Source avec Zip Source avec une capture UNITÉ DE SUPPORT VISTA par Bacterius
Source avec Zip Source avec une capture NETTOYEUR AUTOMATIQUE DE VOS DISQUES par diglas
Source avec Zip Source avec une capture LES VALUE'S FADERS par blueperfect
Source avec Zip Source avec une capture COUNTERS, UNITÉ DE CALCUL DE PERFORMANCE par Bacterius

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture NETTOYAGE AUTOMATIQUE DE NOMS DE FICHIERS par John Dogget
Source avec Zip Source avec une capture UN RAMI AVEC DES LETTRES par Debiars
Source avec Zip Source avec une capture MODIFIER LES DATES DE CRÉATION, DE MODIFICATION ET DE DERNIE... par ni69
Source avec Zip COMPOSANT LISTE DE STRINGS AVEC CHAMPS par ThWilliam
Source avec Zip BLOQUER L'ACCÈS À UN VOLUME (LECTEUR: DISQUE DUR, DISQUETTE,... par taye78

Commentaires et avis

Commentaire de HAFTARIFOUAD le 02/03/2008 19:37:02

Bonjour FLORENTH ;-)

Je suis tt d'accord avec vous, l'essentiel que vous me critiquer dans le but d'améliorer.
merci pour votre commentaire et les bienvenus de vos critiques. lol

Commentaire de SOUMIA le 02/03/2008 21:43:32

mon ami, mon ami

le Titre <> Programme

????

Commentaire de f0xi le 02/03/2008 22:24:59 administrateur CS

une fichier Host n'est pas la pour bloquer des sites mais pour definir l'IP d'un nom de domaine, on peu egalement bloquer un site en le precisant que par exemple www.microsoft.com = 127.0.0.1 (localhost), mais on peu egalement s'amuser a fournir un nom de domaine a des PC en reseaux en precisant un nom bidon pour une adresse 192.168.x.x :
192.168.0.1 serveur.lan
192.168.0.10 mysql.lan
192.168.0.64 user1.lan
192.168.0.65 user2.lan
etc

de plus, ton programme n'est pas trés bon, car si j'essaye d'ouvrer ma liste hosts dans ton prog, ce sera terrifiant de lenteur (hosts = 5.4Mo)

pour gerer les fichiers hosts il ne faut pas le voir comme un fichier texte normal, mais plus comme un fichier INI ou de configuration.

en effet il y a deux ou trois choses a savoir sur les fichier hosts :

les fichiers Hosts accepte les commentaires via # ou ; exemple :
#Ceci est un commentaire
;127.0.0.1 test.lan #cette ligne est désactivée

ensuite plusieurs nom de domaine peuvent pointer la même IP sur la même ligne :

#ceci redirige toujours au bon endroit :
209.85.135.147 google.fr google.com google gogle.fr gogle.com goolge.fr goolge.com giigke.fr google.de googlr.fr yahoo.fr msn.search.fr

voila.
j'avais fait un programme d'edition d'hosts a l'epoque donc autant te faire profiter des problemes que j'ai rencontré.

Commentaire de Loda le 03/03/2008 09:21:44

salut,

rapidement et sans l'avoir essayé:

'C:\Windows\System32\Drivers\etc\hosts'
--> non. pas de chemin en dur (WINDOWS VS WINNT) !!! et utilise une var stp...

pourquoi charges tu deux fois le fichier?


# for Lignes:=19

pourquoi 19? qui te dit que le fichier n'as pas été modifié?
pourquoi ne lit tu pas toute les lignes? et masque les ligne de commentaires?


sinon, dommage que l'on ne puisse pas ajouter de commentaires dans le fichier Hosts ou un vague system de section.

aussi, il est courant de télécharger  une "black list" de site. Et après d'en ajouter des perso.  Une fonction super pratique serait de garder dans un fichier séparer les modif du user et de d'avoir la possibilité de les "reintégrer" dans le fichier hosts courant. (après avoir fait une mise à jour de la black list.) Tu vois ce que je veux dire?

a+

Loda

Commentaire de hfr11 le 29/04/2008 11:04:57

Bonjour,
Petit commentaire d'un administrateur réseau...
Le fichier "hosts" est généralement utilisé pour indiquer au système des machines dont l'adresse IP ne peut pas être donnée par un serveur DNS.
Pour les autres applicatifs réseau il existe généralement des process plus spécialisés et plus efficaces, souvent en freeware !
Bonne journée à tous et bon courage, Patrice

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Interdire l'accès à un PC [ par cccm62 ] Bonjour,Mes questions: Je cherche des idées pour bloquer totalement l'accès à un PC sous XP. =&gt; des idées en + que le simple MDP au démarra Accès à la MFT (Master File Table) [ par ni69 ] Bonjour,Quelqu'un saurait-il comment accéder à la MFT (Master File Table) d'un disque NTFS via Delphi ?Je suis en train de développer un utilitaire de Vers une légalisation du Peer to peer ? [ par simonpelloquin ] Bonjour à tous,Vu sur le net : Certains de nos élus seraient en train de préparer un projet de loi pour étendre la redevance audiovisuelle aux heureux Accès aux Bases de Données impossible [ par ymazingerz ] Allô. J'ai téléchargé la version architecte de Delphi 2009 qui devait techniquement est pleinement fonctionnelle. Or, il m'est totalement impossible d utilisation du Semaphore pour un accès multi-utilisateurs à une Base des données [ par notrica ] SalutY-a-t'il la possibilité d'avoir un exemple concret pour ce qui est de l'uitilisation de Semaphore? Je n'y arrive pas malgré le tuto non argumenté Violation d'accès à l'adresse 008D5C3C dans le module coreide70.bpl [ par codial ] Bonjour, J'ai installé D7 sur mon nouveau portable équipé de windows vista. Malgré une réinstallation complète de D7, lorsque je lance Delphi à parti comment faire une visioneuse de sites web??? [ par ren999 ] Bonjour, je voudrait savoir si c'est possible de créer avec n'importe quel code un logiciel internet qui quand je le lance me dirige automatiquement s


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,764 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales