3) что делать с возможностью дампа оперативной памяти, в которой в этот прекрасный момент содержится в открытом виде вся ось со свеми сенситив процессами?
2) может каким-то образом реально пересобрать линух, чтоб в нём не было логина через локальную консоль от слова совсем, а только удалённо по ssh? и останется только круто как-нибудь мониторить все входы на сервер, получая уведомления в телеграм.
я не мамкин хакир с паранойей
Интересными мыслями ещё показалось провернуть всё это даже не с самой системой, а с докером, чтоб можно было запускать спокойно контейнер на любой оси и даже имея доступа к оси невозможно было бы получить доступ внутрь контейнера (-ов). Реально ли такое?
using System;
using System.IO;
using System.Net.Http;
using System.Text.Json;
using System.Text.Json.Serialization;
using var httpClient = new HttpClient();
// Как-то получаем upload_url
var r = @"{
""response"": {
""upload_url"": ""/something""
}
";
var response = JsonSerializer.Deserialize<Response>(r);
var uploadUrl = response!.ResponseData.UploadUrl;
using var fileStream = File.OpenRead("./file.mp4");
using var request = new HttpRequestMessage
{
RequestUri = new Uri(uploadUrl),
Method = HttpMethod.Post,
Content = new MultipartFormDataContent
{
{
new StreamContent(fileStream), "file", "file.mp4"
}
}
};
httpClient.Send(request);
class Response
{
[JsonPropertyName("response")] public ResponseData ResponseData { get; set; }
}
class ResponseData
{
[JsonPropertyName("upload_url")] public string UploadUrl { get; set; }
}
Что думаете о курсах?
var uri= "https://snaptik.app/dl.php?........................";
var httpClient = new HttpClient();
var response = await httpClient.GetAsync(url);
var stream = await response.Content.ReadAsStreamAsync();
// Дальше стрим куда-нибудь деваем. Можно в принципе и как массив байтов прочитать.
public class CarsRepository
{
private readonly DbContext _dbContext;
public CarsRepository(DbContext dbContext) => _dbContext = dbContext;
public async Task<string> GetOrAddCarNumberAsync(string carName)
{
var car = await _dbContext.Cars.FirstOrDefaultAsync(x => x.Name == name);
if(car == null)
{
car = new Car {
Name = name,
Number = ""
};
_dbContext.Cars.AddAsync(car);
await _dbContext.SaveChangesAsync():
}
return car.Number;
}
}
var sb = new StringBuilder();
if (person as IWithX withX)
sb.AppendLine(person.X);
if(person as IWithY withY)
sb.AppendLine(person.Y);