• Nenhum resultado encontrado

Κεφάλαιο 3 Firewall 3.1 Εισαγωγή

4.8 Φόρμα Login in As User

Μπαμπέκος Χρήστος Α.Ε.Μ.:1904 Βουλγαράκη Φωτεινή Α.Ε.Μ:1912 116

Μπαμπέκος Χρήστος Α.Ε.Μ.:1904 Βουλγαράκη Φωτεινή Α.Ε.Μ:1912 117 Ο κώδικας:

LoginPanel.h

1014. //---

1015. #ifndef LoginPanelH 1016. #define LoginPanelH

1017. //--- 1018. #include <Classes.hpp>

1019. #include <Controls.hpp>

1020. #include <StdCtrls.hpp>

1021. #include <Forms.hpp>

1022. #include "beforelog.h"

1023. #include "afterlog.h"

1024. #include <Menus.hpp>

1025. //--- 1026. class TForm5 : public TForm

1027. {

1028. __published: // IDE-managed Components 1029. TFrame1 *Frame11;

1030. TFrame2 *Frame21;

1031. TMenuItem *Internet1;

1032. TMenuItem *FTP1;

1033. TMenuItem *Sendemail1;

1034. TMenuItem *elnet1;

1035. void __fastcall Frame11Button1Click(TObject *Sender);

1036. void __fastcall Frame21Button1Click(TObject *Sender);

1037. void __fastcall Frame21Button2Click(TObject *Sender);

1038. void __fastcall Frame21Button3Click(TObject *Sender);

1039. void __fastcall Internet1Click(TObject *Sender);

1040. void __fastcall FTP1Click(TObject *Sender);

1041. void __fastcall Sendemail1Click(TObject *Sender);

1042. void __fastcall elnet1Click(TObject *Sender);

1043. private: // User declarations

1044. public: // User declarations 1045. __fastcall TForm5(TComponent* Owner);

1046. int listindex;

1047. };

1048. //--- 1049. extern PACKAGE TForm5 *Form5;

1050. //--- 1051. #endif

Μπαμπέκος Χρήστος Α.Ε.Μ.:1904 Βουλγαράκη Φωτεινή Α.Ε.Μ:1912 118 LoginPanel.cpp

1052. //---

1053. #include <vcl.h>

1054. #include <stdio.h> /*gia to reuma tou arxeiou*/

1055. #pragma hdrstop

1056. #include "LoginPanel.h" /* login user */

1057. #include "Console1.h" /* connection with Form3*/

1058. #include "Login.h" /* Sundesh me Form1 thn login toy admin*/

1059. #include "Firewall.h" /* Syndesh me thn Form6 firewall control panel*/

1060. #include "ibrowser.h"

1061. #include "ftp.h" /* Syndesh me thn Form8 Ftp client*/

1062. #include "mail.h" /* Syndesh me thn Form12 Email*/

1063. #include "md5.cpp"* Περιιγράφεται στην ενότητα 4.13

1064. USEFORM("Login.cpp",Form1);

1065. USEFORM("Console1.cpp",Form3);

1066. USEFORM("Firewall.cpp",Form6);

1067. USEFORM("ibrowser.cpp",Form7);

1068. USEFORM("ftp.cpp",Form8);

1069. USEFORM("mail.cpp",Form12);

1070. //--- 1071. #pragma package(smart_init)

1072. #pragma link "beforelog"

1073. #pragma link "afterlog"

1074. #pragma resource "*.dfm"

1075. TForm5 *Form5;

1076. void loggerIn() //function otan kaneis login 1077. {

1078. FILE *fp;

1079. TDateTime today;

1080. today = Now();

1081. int id = Form1->ADOTable2->FieldByName("ID_Users")->AsInteger;

1082. AnsiString usr = Form5->Frame11->Edit1->Text.c_str();

1083. AnsiString dt = DateTimeToStr(today).c_str();

1084. fp = fopen("c:\\Ptyxiakh\\log\\log.txt","a"); // logger

Μπαμπέκος Χρήστος Α.Ε.Μ.:1904 Βουλγαράκη Φωτεινή Α.Ε.Μ:1912 119 1085. fprintf(fp,"%d",id);

1086. fprintf(fp,"%s"," ");

1087. fprintf(fp,"%s",usr);

1088. fprintf(fp,"%s"," ");

1089. fprintf(fp,"logged in %s",dt );

1090. fprintf(fp,"\n");

1091. fclose(fp);

1092. Form3->ListBox2->Items->Add("Id:"+IntToStr(id)+" "+usr+" logged in at "+dt);

1093. }

1094. void loggerOut() //function otan kaneis logout 1095. {

1096. FILE *fp;

1097. TDateTime today;

1098. today = Now();

1099. int id = Form1->ADOTable2->FieldByName("ID_Users")->AsInteger;

1100. AnsiString usr = Form5->Frame11->Edit1->Text.c_str();

1101. AnsiString dt = DateTimeToStr(today).c_str();

1102. fp = fopen("c:\\Ptyxiakh\\log\\log.txt","a"); // logger

1103. fprintf(fp,"%d",Form1->ADOTable2->FieldByName("ID_Users")->AsInteger);

1104. fprintf(fp,"%s"," ");

1105. fprintf(fp,"%s",Form5->Frame11->Edit1->Text.c_str());

1106. fprintf(fp,"%s"," ");

1107. fprintf(fp,"logged Out %s",DateTimeToStr(today).c_str() );

1108. fprintf(fp,"\n");

1109. fclose(fp);

1110. Form3->ListBox2->Items->Add("Id:"+IntToStr(id)+" "+usr+" logged out at

"+dt);

1111. }

1112. void loggerError() //function otan ginei eisagwgh lanthasmenoy username h password

1113. {

1114. FILE *fp;

1115. TDateTime today;

1116. today = Now();

1117. int id = Form1->ADOTable2->FieldByName("ID_Users")->AsInteger;

1118. AnsiString usr = Form5->Frame11->Edit1->Text.c_str();

1119. AnsiString dt = DateTimeToStr(today).c_str();

Μπαμπέκος Χρήστος Α.Ε.Μ.:1904 Βουλγαράκη Φωτεινή Α.Ε.Μ:1912 120 1120. fp = fopen("c:\\Ptyxiakh\\log\\log.txt","a"); // logger

1121. fprintf(fp,"%d",Form1->ADOTable2->FieldByName("ID_Users")->AsInteger);

1122. fprintf(fp,"%s"," ");

1123. fprintf(fp,"%s",Form5->Frame11->Edit1->Text.c_str());

1124. fprintf(fp,"%s"," ");

1125. fprintf(fp,"Username or Pass missmatch %s",DateTimeToStr(today).c_str() );

1126. fprintf(fp,"\n");

1127. fclose(fp);

1128. Form3->ListBox2->Items->Add("Id:"+IntToStr(id)+" "+usr+" error login at

"+dt);

1129. }

1130. //--- 1131. __fastcall TForm5::TForm5(TComponent* Owner)

1132. : TForm(Owner) 1133. {

1134. listindex=-1;

1135. }

1136. //---

1137. void __fastcall TForm5::Frame11Button1Click(TObject *Sender) 1138. {

1139. TLocateOptions Opts1;

1140. Variant locvalues[2];

1141. Opts1.Clear();

1142. char hash[35];

1143. strcpy(hash,Frame11->Edit2->Text.c_str()); //md5 function 1144. strcpy(hash,md5(hash).c_str());

1145. locvalues[0]=Frame11->Edit1->Text; //username 1146. locvalues[1]=hash; //password

1147. if( Form1->ADOTable2->Locate("Username;MD5 Hash",VarArrayOf(locvalues,1),Opts1))

1148. {

1149. AnsiString username = Frame11->Edit1->Text; //pedio username sthn forma (loginpanel.dfm)

1150. AnsiString password = Frame11->Edit2->Text; //pedio password sthn forma (loginpanel.dfm)

Μπαμπέκος Χρήστος Α.Ε.Μ.:1904 Βουλγαράκη Φωτεινή Α.Ε.Μ:1912 121 1151. loggerIn();

1152. Frame11->Hide();

1153. Frame21->Edit1->Text = Frame11->Edit1->Text; //apla metaferei tin timh apo to log sto log in to username

1154. Frame21->Show();

1155. Form3->ListBox1->Items->Add(Form1->ADOTable2-

>FieldByName("ID_Users")->AsString+" "+username+" "+password);

1156. listindex++; // counter gia ta items sthn listbox 1157. }

1158. else 1159. {

1160. ShowMessage("Wrong Username or Password");

1161. loggerError();

1162. } 1163. }

1164. //---

1165. void __fastcall TForm5::Frame21Button1Click(TObject *Sender) 1166. {

1167. /* button logout */

1168. loggerOut(); //katagrafh

1169. Form6->openbrowser=false; //oi metablhtes autes einai dhlwmenes sthn forma 6 ( firewall )

1170. Form6->openmail=false;

1171. Form6->openftp=false;

1172. Form6->opentelnet=false;

1173. Frame21->Edit2->Clear(); //katharizei ta pedia sto frame21 logout kai to kribei

1174. Frame21->Edit1->Clear();

1175. Frame21->Hide();

1176. Frame11->Show(); //emfanizei to frame toy login 1177. Frame11->Edit1->Clear();

1178. Frame11->Edit2->Clear();

1179. Form3->ListBox1->Items->Delete(listindex); // delete an item from listbox 1180. listindex--;

1181. Form8->Close();

1182. Form12->Close();

1183. }

1184. //---

Μπαμπέκος Χρήστος Α.Ε.Μ.:1904 Βουλγαράκη Φωτεινή Α.Ε.Μ:1912 122 1185. void __fastcall TForm5::Frame21Button2Click(TObject *Sender)

1186. {

1187. /* open broswer button*/

1188. Form6->openbrowser=true;

1189. }

1190. //---

1191. void __fastcall TForm5::Frame21Button3Click(TObject *Sender) 1192. {

1193. Form6->openmail=true;

1194. }

1195. //--- 1196. void __fastcall TForm5::Internet1Click(TObject *Sender) 1197. {

1198. Form6->openbrowser=true;

1199. FILE *fp;

1200. TDateTime today;

1201. today = Now();

1202. int id = Form1->ADOTable2->FieldByName("ID_Users")->AsInteger;

1203. AnsiString usr = Form5->Frame11->Edit1->Text.c_str();

1204. AnsiString dt = DateTimeToStr(today).c_str();

1205. fp = fopen("c:\\Ptyxiakh\\log\\log.txt","a"); // logger

1206. fprintf(fp,"%d",Form1->ADOTable2->FieldByName("ID_Users")->AsInteger);

//grafei to id

1207. fprintf(fp,"%s"," ");

1208. fprintf(fp,"%s",Form5->Frame11->Edit1->Text.c_str()); //grafei to username 1209. fprintf(fp,"%s"," ");

1210. fprintf(fp,"tried to use Http Service %s",DateTimeToStr(today).c_str() );

//grafei thn hmeromhnia k thn wra 1211. fprintf(fp,"\n");

1212. fclose(fp);

1213. Form3->ListBox2->Items->Add("Id:"+IntToStr(id)+" "+usr+" tried to use Http Service at "+dt);

1214. }

1215. //--- 1216. void __fastcall TForm5::FTP1Click(TObject *Sender) 1217. {

1218. Form6->openftp=true; //flag gia elenxo an anoikse o xrhsths to ftp

1219. FILE *fp;

Μπαμπέκος Χρήστος Α.Ε.Μ.:1904 Βουλγαράκη Φωτεινή Α.Ε.Μ:1912 123 1220. TDateTime today;

1221. today = Now();

1222. int id = Form1->ADOTable2->FieldByName("ID_Users")->AsInteger;

1223. AnsiString usr = Form5->Frame11->Edit1->Text.c_str();

1224. AnsiString dt = DateTimeToStr(today).c_str();

1225. fp = fopen("c:\\Ptyxiakh\\log\\log.txt","a"); // logger

1226. fprintf(fp,"%d",Form1->ADOTable2->FieldByName("ID_Users")->AsInteger);

1227. fprintf(fp,"%s"," ");

1228. fprintf(fp,"%s",Form5->Frame11->Edit1->Text.c_str());

1229. fprintf(fp,"%s"," ");

1230. fprintf(fp,"tried to use FTP Service %s",DateTimeToStr(today).c_str() );

1231. fprintf(fp,"\n");

1232. fclose(fp);

1233. Form3->ListBox2->Items->Add("Id:"+IntToStr(id)+" "+usr+" tried to use FTP Service at "+dt);

1234. }

1235. //--- 1236. void __fastcall TForm5::Sendemail1Click(TObject *Sender) 1237. {

1238. Form6->openmail=true;

1239. FILE *fp;

1240. TDateTime today;

1241. today = Now();

1242. int id = Form1->ADOTable2->FieldByName("ID_Users")->AsInteger;

1243. AnsiString usr = Form5->Frame11->Edit1->Text.c_str();

1244. AnsiString dt = DateTimeToStr(today).c_str();

1245. fp = fopen("c:\\Ptyxiakh\\log\\log.txt","a"); // logger

1246. fprintf(fp,"%d",Form1->ADOTable2->FieldByName("ID_Users")->AsInteger);

1247. fprintf(fp,"%s"," ");

1248. fprintf(fp,"%s",Form5->Frame11->Edit1->Text.c_str());

1249. fprintf(fp,"%s"," ");

1250. fprintf(fp,"tried to use Mail Service %s",DateTimeToStr(today).c_str() );

1251. fprintf(fp,"\n");

1252. fclose(fp);

1253. Form3->ListBox2->Items->Add("Id:"+IntToStr(id)+" "+usr+" tried to use Mail Service at"+dt);

1254. Form12->Show();

Μπαμπέκος Χρήστος Α.Ε.Μ.:1904 Βουλγαράκη Φωτεινή Α.Ε.Μ:1912 124 1255. }

1256. //---

1257. void __fastcall TForm5::elnet1Click(TObject *Sender) 1258. {

1259. Form6->opentelnet=true;

1260. FILE *fp;

1261. TDateTime today;

1262. today = Now();

1263. int id = Form1->ADOTable2->FieldByName("ID_Users")->AsInteger;

1264. AnsiString usr = Form5->Frame11->Edit1->Text.c_str();

1265. AnsiString dt = DateTimeToStr(today).c_str();

1266. fp = fopen("c:\\Ptyxiakh\\log\\log.txt","a"); // logger

1267. fprintf(fp,"%d",Form1->ADOTable2->FieldByName("ID_Users")->AsInteger);

1268. fprintf(fp,"%s"," ");

1269. fprintf(fp,"%s",Form5->Frame11->Edit1->Text.c_str());

1270. fprintf(fp,"%s"," ");

1271. fprintf(fp,"tried to use Telnet Service %s",DateTimeToStr(today).c_str() );

1272. fprintf(fp,"\n");

1273. fclose(fp);

1274. Form3->ListBox2->Items->Add("Id:"+IntToStr(id)+" "+usr+" tried to use Telnet Service at "+dt);

1275. }

1276. //---

Μπαμπέκος Χρήστος Α.Ε.Μ.:1904 Βουλγαράκη Φωτεινή Α.Ε.Μ:1912 125

Documentos relacionados