Методы и средства защиты информации в базе данных

Управление доступом – эффективный метод защиты информации, регулирующий использование ресурсов информационной системы, для которой разрабатывалась концепция информационной безопасности.

Методы и системы защиты информации в базе данных, опирающиеся на управление доступом, включают в себя следующие функции защиты информации:

· Идентификация пользователей, ресурсов и персонала системы информационной безопасности сети;

· Опознание и установление подлинности пользователя по вводимым учетным данным (на данном принципе работает большинство моделей информационной безопасности);

· Допуск к определенным условиям работы согласно регламенту, предписанному каждому отдельному пользователю, что определяется средствами защиты информации и является основой информационной безопасности большинства типовых моделей информационных систем;

· Протоколирование обращений пользователей к ресурсам, информационная безопасность (рф) которых защищает ресурсы от несанкционированного доступа и отслеживает некорректное поведение пользователей системы;

Методы и средства защиты информации в базе данных - student2.ru

Рисунок 3. Пароль программы

Для того чтобы защитить базу данных от несанкционированного доступа и разграничить доступ к программе был придуман пароль:

vara,b:string;
begin
a:='admin';
if Edit1.text=a then
begin
form2.Show;
Edit1.Clear;
Form1.Visible:=False; end
else
begin
MessageDlg('Неверныйпароль!',mtError, [mbOK],0);
Exit;

b:='user';
if Edit1.text=b
then
begin
form9.Show;
Edit1.Clear;
Form1.Visible:=False; end
else
begin
MessageDlg('Неверныйпароль!',mtError, [mbOK],0);
Exit; end; end; end.

Приложение

Схема физической организации локальной сети предприятия

Методы и средства защиты информации в базе данных - student2.ru

Рисунок 4. Схема физической организации локальной сети предприятия

Модель сущность-связь базы данных

Методы и средства защиты информации в базе данных - student2.ru

Рисунок 5. Модель сущность-связь базы данных

Загрузочная(Главная) форма

Методы и средства защиты информации в базе данных - student2.ru

Рисунок 6. Загрузочная форма

6.4. Экранные формы для ввода данных (документов)

Методы и средства защиты информации в базе данных - student2.ru

Рисунок 7. Экранные формы для ввода данных

Методы и средства защиты информации в базе данных - student2.ru

Рисунок 8. Экранные формы для ввода данных

Методы и средства защиты информации в базе данных - student2.ru

Рисунок 9. Экранные формы для ввода данных

Формы выходной документации

Методы и средства защиты информации в базе данных - student2.ru

Рисунок 10. Экранные формы выходной документации

Список литературы

1. Фуфаев Э.В., Фуфаев Д.Э. Базы данных.- Академия, 2015.- 320с.

2. Бураков М.В., Латыпова Р.Р.Базы данных и язык SQL.- СПБ.:ГУАП, 2014.- 120 с.

3. Баженова И.Ю. SQL и процедурно-ориентированные языки (2-е изд.).- М.: НОУ "Интуит",2016.- 166 с.

4. Кара-Ушанов В.Ю.SQL — язык реляционных баз данных.- Екатеринбург: Изд-во Урал.ун-та, 2016.- 156с.

5. Швецов В.И.Базы данных (2-е изд.).- М.: НОУ "Интуит", 2016 .- 218 с.

Интернет- ресурсы:

1. Кириллов В.В. Основы проектирования реляционных баз данных[Электронный ресурс]- Электрон. текстовые дан.-СПб.: Санкт-Петербургский Государственный институтточной механики и оптики (технический университет) изд., 2013. – Режим доступа: http://citforum.ru/database/dbguide/index.shtml

1. Сайт заводаhttp://www.plava.ru/

2. Модель сущность-связьhttp://www.mstu.edu.ru/study/materials/zelenkov/ch_2_4.html

Листинг программных модулей

Form 1:

unitUnit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, Grids,WinProcs, StdCtrls, Buttons, Menus, ExtCtrls, jpeg,

ComCtrls,ComObj;

type

TMyGrid=class(TCustomGrid);

TForm1 = class(TForm)

PageControl1: TPageControl;

TabSheet1: TTabSheet;

TabSheet2: TTabSheet;

TabSheet3: TTabSheet;

TabSheet4: TTabSheet;

StringGrid1: TStringGrid;

StringGrid2: TStringGrid;

StringGrid3: TStringGrid;

StringGrid4: TStringGrid;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

OpenDialog1: TOpenDialog;

SaveDialog1: TSaveDialog;

N4: TMenuItem;

N5: TMenuItem;

ComboBox1: TComboBox;

ComboBox2: TComboBox;

DateTimePicker1: TDateTimePicker;

ComboBox3: TComboBox;

procedure N2Click(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure N5Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure PageControl1Change(Sender: TObject);

procedure DateTimePicker1Exit(Sender: TObject);

procedureFormCreate(Sender: TObject);

procedure StringGrid4SelectCell(Sender: TObject; ACol, ARow: Integer;

varCanSelect: Boolean);

procedure StringGrid4Exit(Sender: TObject);

procedure ComboBox3Exit(Sender: TObject);

procedure ComboBox2Exit(Sender: TObject);

private

{ Private declarations }

public

procedureDelr(SG: TStringGrid; l:integer);

procedureSclear(sg: TStringGrid);

proceduredob(StringGrid: TStringGrid);

procedure Load(StringGrid: TStringGrid);

procedure Save(StringGrid: TStringGrid; N:string);

{ Public declarations }

end;

var

Form1: TForm1;

Excel:variant;

implementation

{$R *.dfm}

procedure TForm1.Sclear(sg: TStringGrid);

var

i:integer;

begin

for i:=1 to sg.rowcount-1 do

sg.Rows[i].Clear;

sg.RowCount:=2;

end;

procedure TForm1.dob(StringGrid: TStringGrid);

begin

StringGrid.RowCount:=StringGrid.RowCount+1;

end;

procedure TForm1.Load(StringGrid: TStringGrid);

var

f: TextFile;

i, k,x, y: Integer;

iTmp,strTemp,s: String;

ExcelApp, ExcelSheet: OLEVariant;

MyMass: Variant;

begin

if OpenDialog1.Execute then

begin //{ 0

if (ExtractFileExt(OpenDialog1.FileName)='.txt') or

(ExtractFileExt(OpenDialog1.FileName)='.doc') then

begin //{ 1

s:=OpenDialog1.FileName;

AssignFile(f, s);

Reset(f);

withStringGrid do

begin //{ 2

Readln(f, iTmp);

ifTryStrtoInt(iTmp,i) then

begin //{3

ColCount :=StrToInt(iTmp);

Readln(f, iTmp);

ifTryStrtoInt(iTmp,i) then

begin //{4

RowCount :=StrToInt(iTmp);

fori := 0 to ColCount - 1 do

for k := 0 to RowCount - 1 do

begin //{5

Readln(f, strTemp);

Cells[i, k] := strTemp;

end; end;

CloseFile(f);

end; end; end

else

begin

ExcelApp :=CreateOleObject('Excel.Application');

ExcelApp.Workbooks.Open(OpenDialog1.FileName);

ExcelSheet :=ExcelApp.Workbooks[1].WorkSheets[1];

ExcelSheet.Cells.SpecialCells($0000000B).Activate;

x := ExcelApp.ActiveCell.Row;

y := ExcelApp.ActiveCell.Column;

MyMass :=ExcelApp.Range['A1', ExcelApp.Cells.Item[X, Y]].Value;

ExcelApp.Quit;

ExcelApp := Unassigned;

ExcelSheet := Unassigned;

StringGrid.RowCount := x;

StringGrid.ColCount := y;

for x := 1 to StringGrid.ColCount do

for y := 1 to StringGrid.RowCount do

StringGrid.Cells[x-1, y-1] := MyMass[y, x];

end; end; end;

procedure TForm1.Save(StringGrid: TStringGrid; N:string);

var

f:TextFile;

i, k,j:Integer;

s:string;

Sheet:variant;

begin //0

if SaveDialog1.Execute then

begin //1

if (SaveDialog1.FilterIndex = 1) or (SaveDialog1.FilterIndex = 2) then

begin //2

if SaveDialog1.FilterIndex = 1 then

s:=SaveDialog1.FileName+'.txt';

if SaveDialog1.FilterIndex = 2 then

s:=SaveDialog1.FileName+'.doc';

AssignFile(f, s);

Rewrite(f);

withStringGrid do

begin //4

Writeln(f, ColCount);

Writeln(f, RowCount);

fori := 0 to ColCount - 1 do

for k := 0 to RowCount - 1 do

Writeln(F, Cells[i, k]);

end; //4

CloseFile(F);

end; //2

if SaveDialog1.FilterIndex = 3 then

begin //3

s:=SaveDialog1.FileName;

Excel:=CreateOleObject('Excel.Application');

Excel.Visible := False;

Excel.Application.WorkBooks.Add;

Sheet :=Excel.Workbooks[1].WorkSheets[1];

Sheet.name:=N;

Excel.ActiveSheet.Cells[1,2]:=N;

fori := 1 to StringGrid.RowCount do

for j:= 1 to StringGrid.ColCount do

Excel.ActiveSheet.Cells[i+1,j]:=StringGrid.Cells[j-1,i-1];

Excel.ActiveWorkbook.SaveAs(s);

Excel.Quit;

Excel := Unassigned;

Sheet := Unassigned;

end; //3

end; //1

end; //0

procedure TForm1.Delr(SG: TStringGrid; l:integer);

begin

sg.Rows[l].Clear;

TMyGrid(SG).DeleteRow(l);

end;

procedure TForm1.N2Click(Sender: TObject);

var s:string;

begin

s:=form1.PageControl1.ActivePage.Caption;

case PageControl1.ActivePageIndex of

0: Save(StringGrid1,s);

1: Save(StringGrid2,s);

2: Save(StringGrid3,s);

3: Save(StringGrid4,s);

end;

end;

procedure TForm1.N3Click(Sender: TObject);

begin

case PageControl1.ActivePageIndex of

0:beginDelr(StringGrid1, 0); Load(StringGrid1); end;

1:beginDelr(StringGrid2, 0); Load(StringGrid2); end;

2:beginDelr(StringGrid3, 0); Load(StringGrid3); end;

3:beginDelr(StringGrid4, 0); Load(StringGrid4); end;

end;

end;

procedure TForm1.N5Click(Sender: TObject);

begin

case PageControl1.ActivePageIndex of

0: dob(StringGrid1);

1: dob(StringGrid2);

2: dob(StringGrid3);

3: dob(StringGrid4);

end;

end;

procedure TForm1.N4Click(Sender: TObject);

begin

case PageControl1.ActivePageIndex of

0: Delr(StringGrid1,StringGrid1.Row);

1: Delr(StringGrid2,StringGrid2.Row);

2: Delr(StringGrid3,StringGrid3.Row);

3: Delr(StringGrid4,StringGrid4.Row);

end;

end;

procedure TForm1.PageControl1Change(Sender: TObject);

var i:integer;

begin

case PageControl1.ActivePageIndex of

2: begin end;

3: begin

Combobox2.Text:='';

Combobox2.Items.Clear;

for i:=1 to Form1.stringgrid3.RowCount-1 do

Combobox2.Items.Add(Form1.stringgrid3.Cells[0,i]);

end;

end;

end;

procedure TForm1.DateTimePicker1Exit(Sender: TObject);

begin

with StringGrid4 do

Cells[Col, Row] := DateTimeToStr(DateTimePicker1.DateTime);

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

DateTimePicker1.Parent := StringGrid4;

form1.ComboBox1.Parent:=StringGrid3;

form1.ComboBox2.Parent:=StringGrid4;

form1.ComboBox3.Parent:=StringGrid4;

stringgrid1.Cells[0,0]:='Êîä';

stringgrid1.Cells[1,0]:='Âèäîáó÷åíèÿ';

stringgrid2.Cells[0,0]:='Êîä';

stringgrid2.Cells[1,0]:='Ïðîôåññèÿ, âèäûðàáîò';

stringgrid3.Cells[0,0]:='Êîä';

stringgrid3.Cells[1,0]:='ÔÈÎ';

stringgrid3.Cells[2,0]:='Àäðåñ';

stringgrid3.Cells[3,0]:='Òåëåôîí';

stringgrid3.Cells[4,0]:='Ïðîôåññèÿ, âèäûðàáîò';

stringgrid4.Cells[0,0]:='ÊîäÑîòðóäíèêà';

stringgrid4.Cells[1,0]:='ÔÈÎ Ñîòðóäíèêà';

stringgrid4.Cells[2,0]:='Àòòåñòàöèÿ';

stringgrid4.Cells[3,0]:='Äàòààòòåñòàöèè';

end;

procedure TForm1.StringGrid4SelectCell(Sender: TObject; ACol,

ARow: Integer; varCanSelect: Boolean);

begin

ifacol=2 then

begin

DateTimePicker1.Visible := True;

DateTimePicker1.BoundsRect := StringGrid4.CellRect(ACol, ARow);

DateTimePicker1.SetFocus;

end;

ifacol=0 then

begin

ComboBox2.Visible := True;

ComboBox2.BoundsRect := StringGrid4.CellRect(ACol, ARow);

ComboBox2.Height:=1000;

ComboBox2.SetFocus;

end;

ifacol=1 then

begin

ComboBox3.Visible := True;

ComboBox3.BoundsRect := StringGrid4.CellRect(ACol,ARow);

ComboBox3.Height:=1000;

ComboBox3.SetFocus;

end;

end;

procedure TForm1.StringGrid4Exit(Sender: TObject);

begin

DateTimePicker1.Visible := false;

ComboBox2.Visible:=false;

ComboBox3.Visible:=false;

end;

procedure TForm1.ComboBox3Exit(Sender: TObject);

begin

with StringGrid4 do

Cells[Col, Row] := form1.ComboBox3.Text;

end;

procedure TForm1.ComboBox2Exit(Sender: TObject);

begin

with StringGrid4 do

Cells[Col, Row] := form1.ComboBox2.Text;

end;

end.

Наши рекомендации