PostgreSQL: kèo bóng đá hôm | |||
---|---|---|---|
prev | UP | Chương 43. kèo tỷ số bóng đá euro hôm nay - Ngôn ngữ thủ tục Perl | Tiếp theo |
Thông thường, kèo tỷ số bóng đá euro hôm nay được cài đặt dưới dạng"Trusted"Ngôn ngữ lập trình có tênplperl. Trong thiết lập này, một số hoạt động Perl nhất định bị vô hiệu hóa để bảo mật. Nói chung, các hoạt động bị hạn chế là những hoạt động tương tác với môi trường. Điều này bao gồm các hoạt động xử lý tệp,Yêu cầuvàsử dụng(cho các mô -đun bên ngoài). kèo tỷ số bóng đá euro hôm nay có cách nào để truy cập vào bên trong của quy trình máy chủ cơ sở dữ liệu hoặc để có được quyền truy cập cấp hệ điều hành với các quyền của quy trình máy chủ, như một hàm C có thể làm. Do đó, bất kỳ người dùng cơ sở dữ liệu kèo tỷ số bóng đá euro hôm nay đặc quyền nào cũng có thể được phép sử dụng ngôn ngữ này.
Đây là một ví dụ về chức năng sẽ kèo tỷ số bóng đá euro hôm nay hoạt động vì các hoạt động hệ thống tệp kèo tỷ số bóng đá euro hôm nay được phép vì lý do bảo mật:
Tạo hàm badfunc () trả về số nguyên dưới dạng $$ $ tmpfile của tôi = "/tmp/badfile"; Mở $ fh của tôi, '', $ tmpfile hoặc elog (lỗi, qq kèo tỷ số bóng đá euro hôm nay thể mở tệp "$ tmpfile": $!); In $ fh "Kiểm tra viết vào một tệp \ n"; đóng $ fh hoặc elog (lỗi, qq kèo tỷ số bóng đá euro hôm nay thể đóng tệp "$ tmpfile": $!); trả lại 1; $$ ngôn ngữ plperl;
Việc tạo chức năng này sẽ thất bại vì việc sử dụng hoạt động bị cấm sẽ bị bắt bởi trình xác thực.
Đôi khi, mong muốn viết các chức năng perl kèo tỷ số bóng đá euro hôm nay bị hạn chế. Ví dụ, người ta có thể muốn một chức năng Perl gửi thư. Để xử lý các trường hợp này, PL/Perl cũng có thể được cài đặt dưới dạng"Không kèo tỷ số bóng đá euro hôm nay"Ngôn ngữ (thường được gọi làPL/Perlu). Trong trường hợp này, ngôn ngữ Perl đầy đủ có sẵn. Khi cài đặt ngôn ngữ, tên ngôn ngữPlperluSẽ chọn biến thể PL/Perl không kèo tỷ số bóng đá euro hôm nay.
Người viết của APL/PerluHàm phải cẩn thận rằng chức năng không thể được sử dụng để làm bất cứ điều gì không mong muốn, vì nó sẽ có thể làm bất cứ điều gì có thể được thực hiện bởi người dùng đăng nhập làm quản trị viên cơ sở dữ liệu. Lưu ý rằng hệ thống cơ sở dữ liệu chỉ cho phép các siêu người dùng cơ sở dữ liệu tạo các hàm trong các ngôn ngữ không kèo tỷ số bóng đá euro hôm nay.
Nếu hàm trên được tạo bởi một siêu người dùng bằng ngôn ngữPlperlu, thực thi sẽ thành công.
Theo cách tương tự, các khối mã ẩn danh được viết bằng Perl có thể sử dụng các hoạt động bị hạn chế nếu ngôn ngữ được chỉ định làPlperluthay vìPlperl, nhưng người gọi phải là một siêu người dùng.
Lưu ý:trong khikèo tỷ số bóng đá euro hôm nayCác chức năng chạy trong một trình thông dịch perl riêng cho mỗi vai trò SQL, tất cảPL/Perlu13372_13485kèo tỷ số bóng đá euro hôm naychức năng). Điều này cho phépPL/PerluCác chức năng chia sẻ dữ liệu một cách tự do, nhưng kèo tỷ số bóng đá euro hôm nay có giao tiếp nào có thể xảy ra giữakèo tỷ số bóng đá euro hôm nayvàPL/Perluchức năng.
Lưu ý:Perl kèo tỷ số bóng đá euro hôm nay thể hỗ trợ nhiều phiên dịch viên trong một quy trình trừ khi nó được xây dựng bằng các cờ thích hợp, cụ thể làUsemultiplicityhoặcuseithreads. (Usemultiplicityđược ưu tiên trừ khi bạn thực sự cần sử dụng các luồng. Để biết thêm chi tiết, xemperlembedTrang người đàn ông.) Nếukèo tỷ số bóng đá euro hôm nay14284_14458PL/Perluchức năng hoặckèo tỷ số bóng đá euro hôm nayCác chức năng được gọi bởi cùng một vai trò SQL.