private
FServer: TIdHTTPWebBrokerBridge;
procedure StartServer;
+ procedure OnGetSSLPassword(var APassword: String);
{ private \90é\8c¾ }
public
{ public \90é\8c¾ }
{$R *.dfm}
uses
+ IdSSLOpenSSL,
WinApi.Windows, Winapi.ShellApi;
procedure TForm1.ApplicationEvents1Idle(Sender: TObject; var Done: Boolean);
LURL: string;
begin
StartServer;
- LURL := Format('http://localhost:%s', [EditPort.Text]);
+ LURL := Format('https://localhost:%s', [EditPort.Text]);
ShellExecute(0,
nil,
PChar(LURL), nil, nil, SW_SHOWNOACTIVATE);
end;
procedure TForm1.FormCreate(Sender: TObject);
+var
+ LIOHandleSSL: TIdServerIOHandlerSSLOpenSSL;
begin
FServer := TIdHTTPWebBrokerBridge.Create(Self);
+ LIOHandleSSL := TIdServerIOHandlerSSLOpenSSL.Create(FServer);
+ LIOHandleSSL.SSLOptions.CertFile := 'C:\Users\fuke masasi\Documents\masasi\https\server.csr';
+ LIOHandleSSL.SSLOptions.RootCertFile := 'C:\Users\fuke masasi\Documents\masasi\https\server.pem';
+ LIOHandleSSL.SSLOptions.KeyFile := 'C:\Users\fuke masasi\Documents\masasi\https\server.key';
+ LIOHandleSSL.OnGetPassword := OnGetSSLPassword;
+ FServer.IOHandler := LIOHandleSSL;
+end;
+
+procedure TForm1.OnGetSSLPassword(var APassword: String);
+begin
+ APassword := 'kainushi';
end;
procedure TForm1.StartServer;
begin
if TagString = 'home' then
begin
- ReplaceText := FDTable2.FieldByName('home').AsString;
+ ReplaceText := String(AnsiReplaceText(FDTable2.FieldByName('home')
+ .AsAnsiString, 'http', 'https'));
end
else
begin
function TWebModule1.footer(const path: string): string;
var
s1, s2, t1, t2: string;
+ home: string;
i, k, count: integer;
function linkcontent: string;
var
end
else
begin
- result := result + Format(' <a href="' + FDTable2.FieldByName('home')
- .AsString + path + '?pos=%d">%d</a> ',
- [pos + i + j, pos + 1 + i + j]);
+ result := result + Format(' <a href="' + home + path +
+ '?pos=%d">%d</a> ', [pos + i + j, pos + 1 + i + j]);
end;
end;
end;
begin
count := FDTable3.FieldByName('count').AsInteger;
+ if path = 'admin' then
+ begin
+ home := String(ReplaceText(FDTable2.FieldByName('home').AsAnsiString,
+ 'http', 'https'));
+ end
+ else
+ begin
+ home := FDTable2.FieldByName('home').AsString;
+ end;
if pos <= -1 then
begin
s1 := '\8dÅ\90V%d\8c\8f\82Ì\8bL\8e\96\82ð\95\\8e¦<br><center>Pages : [<b>';
k := (pos + 1) * count;
end;
s1 := '%d \8c\8f\92\86 %d \8c\8f\82©\82ç %d \8c\8f\82Ü\82Å\95\\8e¦<br><center>Page : [<b>';
- s2 := '<a href="' + FDTable2.FieldByName('home').AsString + path + t1 +
- '"><<</a>' + linkcontent + '<a href="' + FDTable2.FieldByName('home')
- .AsString + path + t2 + '">>></a>] <a href="' +
- FDTable2.FieldByName('home').AsString + path + '">\8dÅ\90V</a></b></center>';
+ s2 := '<a href="' + home + path + t1 + '"><<</a>' + linkcontent +
+ '<a href="' + home + path + t2 + '">>></a>] <a href="' + home + path +
+ '">\8dÅ\90V</a></b></center>';
result := Format(s1, [FDTable1.RecordCount, pos * count + 1, k]) + s2;
end;
end;
s: TDataSetPageProducer;
t: string;
begin
- if (TagString = 'home') or (TagString = 'title') or (TagString = 'title2')
- then
+ if TagString = 'home' then
+ if ExtractFileName(PageProducer1.HTMLFile) = 'index.htm' then
+ begin
+ ReplaceText := FDTable2.FieldByName('home').AsString;
+ end
+ else
+ begin
+ ReplaceText := String(AnsiReplaceText(FDTable2.FieldByName('home')
+ .AsAnsiString, 'http', 'https'));
+ end;
+ if (TagString = 'title') or (TagString = 'title2') then
ReplaceText := FDTable2.FieldByName(TagString).AsString;
if TagString = 'username' then
ReplaceText := user;
Expires := Now + 1;
Name := 'psw';
Value := AnsiString(s);
- // Secure := true;
+ Secure := true;
end;
if s = FDTable2.FieldByName('pass').AsString then
something;
if FDTable1.Locate('no', Request.ContentFields.ValueFromIndex[i], []) = true
then
FDTable1.Delete;
- Response.SendRedirect(FDTable2.FieldByName('home').AsAnsiString + 'admin');
+ Response.SendRedirect(ReplaceText(FDTable2.FieldByName('home').AsAnsiString + 'admin','http','https'));
end;
procedure TWebModule1.WebModule1DefaultHandlerAction(Sender: TObject;