Mục tiêu của tôi là mở một trang web an toàn trong trình duyệt mặc định của người dùng. URL cho trang web này được coi là "không đáng tin cậy" (coi đó là liên kết trong tài liệu được mở bằng phần mềm này, nhưng tài liệu có thể ở bất kỳ đâu và liên kết trong đó có thể độc hại)Quy trình an toàn.Bắt đầu triển khai các chuỗi URL không đáng tin cậy
Tôi muốn tránh một người nào đó đi ngang qua "C: \ Windows \ malicious_code.exe" tắt dưới dạng URL
suy nghĩ hiện tại của tôi là để làm một cái gì đó như thế này:
Uri url = new Uri(urlString, UriKind.Absolute);
if(url.Scheme == Uri.UriSchemeHttp || url.Scheme == Uri.UriSchemeHttps)
{
Process.Start(url.AbsoluteUri);
}
tôi quên về bất cứ điều gì khác mà 'urlString' của tôi có thể chứa làm cho điều này trở nên nguy hiểm (ví dụ: một ký tự dòng mới cho phép ai đó lẻn vào một quá trình thứ hai được bắt đầu sau URL hoặc thuộc tính ible thực hiện của một thực thi tương đối bắt đầu với http)? Tôi chắc rằng cả hai trường hợp này đều được xử lý bởi điều này (vì tôi không tin Process.Start cho phép bạn bắt đầu hai tiến trình như bạn làm trong một tệp BATCH và điều này chỉ cho phép các chuỗi bắt đầu bằng http:. hoặc https: và là các url hợp lệ)
Có cách nào tốt hơn để thực hiện việc này trong C# không?
Tôi khá chắc chắn về cơ bản những gì đã được triển khai trong câu hỏi của tôi :) – userx
Những gì bạn có là khá chắc chắn. Tôi không thể nghĩ ra bất cứ điều gì khác có thể lẻn qua. –