Units
Translation components API.
See the Weblate's Web API documentation for detailed description of the API.
GET /api/translations/documentation/booksdevelopers-handbooksecure_index/fa/units/?format=api
https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/units/?format=api&page=2", "previous": null, "results": [ { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "Chapter 3. Secure Programming" ], "previous_source": "", "target": [ "" ], "id_hash": 6081931721962702445, "content_hash": 6081931721962702445, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:1", "context": "", "note": "type: YAML Front Matter: title", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 2, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 4, "source_unit": "https://translate-dev.freebsd.org/api/units/1077798/?format=api", "priority": 100, "id": 1077928, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=d4675cad7bc4466d", "url": "https://translate-dev.freebsd.org/api/units/1077928/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T12:52:50.979132Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "Secure Programming" ], "previous_source": "", "target": [ "برنامهنویسی ایمن" ], "id_hash": 8930167014867953977, "content_hash": 8930167014867953977, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:15", "context": "", "note": "type: Title =", "flags": "no-wrap", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 3, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://translate-dev.freebsd.org/api/units/1077800/?format=api", "priority": 100, "id": 1077929, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=fbee5396021d6939", "url": "https://translate-dev.freebsd.org/api/units/1077929/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T12:52:50.986731Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "Synopsis" ], "previous_source": "", "target": [ "چکیده" ], "id_hash": -6651481047257516920, "content_hash": -6651481047257516920, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:53", "context": "", "note": "type: Title ==", "flags": "no-wrap", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 4, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 1, "source_unit": "https://translate-dev.freebsd.org/api/units/1077802/?format=api", "priority": 100, "id": 1077930, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=23b1313a83f8f488", "url": "https://translate-dev.freebsd.org/api/units/1077930/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T12:52:50.996816Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "This chapter describes some of the security issues that have plagued UNIX(R) programmers for decades and some of the new tools available to help programmers avoid writing exploitable code." ], "previous_source": "", "target": [ "" ], "id_hash": -7307355481975192136, "content_hash": -7307355481975192136, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:56", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 5, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 29, "source_unit": "https://translate-dev.freebsd.org/api/units/1077804/?format=api", "priority": 100, "id": 1077931, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=1a970ee7b95d85b8", "url": "https://translate-dev.freebsd.org/api/units/1077931/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T12:52:51.002863Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "Secure Design Methodology" ], "previous_source": "", "target": [ "روششناسی طراحی ایمن" ], "id_hash": 2811527937606117444, "content_hash": 2811527937606117444, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:58", "context": "", "note": "type: Title ==", "flags": "no-wrap", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 6, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 3, "source_unit": "https://translate-dev.freebsd.org/api/units/1077806/?format=api", "priority": 100, "id": 1077932, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=a7048dc35d196844", "url": "https://translate-dev.freebsd.org/api/units/1077932/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T12:52:51.082586Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "Buffer Overflows" ], "previous_source": "", "target": [ "سرریز میانگیر" ], "id_hash": 923331110801876622, "content_hash": 923331110801876622, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:69", "context": "", "note": "type: Title ==", "flags": "no-wrap", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 9, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://translate-dev.freebsd.org/api/units/1077812/?format=api", "priority": 100, "id": 1077935, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=8cd054c0d569a68e", "url": "https://translate-dev.freebsd.org/api/units/1077935/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T12:52:51.185767Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "Although stack-based attacks are by far the most common, it would also be possible to overrun the stack with a heap-based (malloc/free) attack." ], "previous_source": "", "target": [ "گرچه حملات مبتنی بر پشته با اختلاف رایجترین آنها هستند، اما سرریز کردن پشته از طریق حملهٔ مبتنی بر هیپ (malloc/free) نیز ممکن است." ], "id_hash": -3259885602480845986, "content_hash": -3259885602480845986, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:87", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 12, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 23, "source_unit": "https://translate-dev.freebsd.org/api/units/1077818/?format=api", "priority": 100, "id": 1077938, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=52c28f50efb80b5e", "url": "https://translate-dev.freebsd.org/api/units/1077938/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T12:52:51.218043Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "Example Buffer Overflow" ], "previous_source": "", "target": [ "سرریز میانگیر نمونه" ], "id_hash": -4795839322406069785, "content_hash": -4795839322406069785, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:131", "context": "", "note": "type: Title ===", "flags": "no-wrap", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 27, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 3, "source_unit": "https://translate-dev.freebsd.org/api/units/1077824/?format=api", "priority": 100, "id": 1077941, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=3d71c18bb422d9e7", "url": "https://translate-dev.freebsd.org/api/units/1077941/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T12:52:51.290003Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "The following example code contains a buffer overflow designed to overwrite the return address and skip the instruction immediately following the function call. (Inspired by crossref:bibliography[Phrack,4])" ], "previous_source": "", "target": [ "" ], "id_hash": -1553710882777474856, "content_hash": -1553710882777474856, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:134", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 28, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 26, "source_unit": "https://translate-dev.freebsd.org/api/units/1077826/?format=api", "priority": 100, "id": 1077942, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=6a701c2f1c63d8d8", "url": "https://translate-dev.freebsd.org/api/units/1077942/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T12:52:51.300944Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "#include <stdio.h>\n" ], "previous_source": "", "target": [ "" ], "id_hash": 2500310435173648836, "content_hash": 2500310435173648836, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:138", "context": "", "note": "type: delimited block . 4", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 29, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://translate-dev.freebsd.org/api/units/1077828/?format=api", "priority": 100, "id": 1077943, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=a2b2e317f4ba49c4", "url": "https://translate-dev.freebsd.org/api/units/1077943/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T12:52:51.380851Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "void manipulate(char *buffer) {\n char newbuffer[80];\n strcpy(newbuffer,buffer);\n}\n" ], "previous_source": "", "target": [ "" ], "id_hash": -4367011059406461549, "content_hash": -4367011059406461549, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:143", "context": "", "note": "type: delimited block . 4", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 30, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 8, "source_unit": "https://translate-dev.freebsd.org/api/units/1077830/?format=api", "priority": 100, "id": 1077944, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=4365429431e02593", "url": "https://translate-dev.freebsd.org/api/units/1077944/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T12:52:51.391262Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "int main() {\n char ch,buffer[4096];\n int i=0;\n" ], "previous_source": "", "target": [ "" ], "id_hash": -1935271772363453002, "content_hash": -1935271772363453002, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:147", "context": "", "note": "type: delimited block . 4", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 31, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 7, "source_unit": "https://translate-dev.freebsd.org/api/units/1077832/?format=api", "priority": 100, "id": 1077945, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=65248893986f8db6", "url": "https://translate-dev.freebsd.org/api/units/1077945/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T12:52:51.472440Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ " while ((buffer[i++] = getchar()) != '\\n') {};\n" ], "previous_source": "", "target": [ "" ], "id_hash": 7568940903166651489, "content_hash": 7568940903166651489, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:149", "context": "", "note": "type: delimited block . 4", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 32, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 7, "source_unit": "https://translate-dev.freebsd.org/api/units/1077834/?format=api", "priority": 100, "id": 1077946, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=e90a47a6432c2c61", "url": "https://translate-dev.freebsd.org/api/units/1077946/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T12:52:51.482639Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ " i=1;\n manipulate(buffer);\n i=2;\n printf(\"The value of i is : %d\\n\",i);\n return 0;\n}\n" ], "previous_source": "", "target": [ "" ], "id_hash": -2783125795295921758, "content_hash": -2783125795295921758, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:156", "context": "", "note": "type: delimited block . 4", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 33, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 13, "source_unit": "https://translate-dev.freebsd.org/api/units/1077836/?format=api", "priority": 100, "id": 1077947, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=596059d5b628f9a2", "url": "https://translate-dev.freebsd.org/api/units/1077947/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T12:52:51.492635Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "Let us examine what the memory image of this process would look like if we were to input 160 spaces into our little program before hitting return." ], "previous_source": "", "target": [ "بگذارید بررسی کنیم نمای حافظهٔ این پردازش به چه شکل میشد چنانچه قرار بود ۱۶۰ فاصله درون برنامهٔ کوچک خود وارد کنیم، قبل از زدن کلید return." ], "id_hash": 7240831616539028235, "content_hash": 7240831616539028235, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:159", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 34, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 27, "source_unit": "https://translate-dev.freebsd.org/api/units/1077838/?format=api", "priority": 100, "id": 1077948, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=e47c99fdde39eb0b", "url": "https://translate-dev.freebsd.org/api/units/1077948/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T12:52:51.573811Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "Obviously more malicious input can be devised to execute actual compiled instructions (such as exec(/bin/sh))." ], "previous_source": "", "target": [ "بدیهی است که ورودیهای مخرب بیشتری میتوان استفاده کرد که دستورالعملهای همگردانی شده واقعی (مانند exec(/bin/sh)) را اجرا کنند." ], "id_hash": 6030096212964187820, "content_hash": 6030096212964187820, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:163", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 35, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 15, "source_unit": "https://translate-dev.freebsd.org/api/units/1077840/?format=api", "priority": 100, "id": 1077949, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=d3af348e8f289eac", "url": "https://translate-dev.freebsd.org/api/units/1077949/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T12:52:51.581067Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "Avoiding Buffer Overflows" ], "previous_source": "", "target": [ "جلوگیری از سرریز میانگیر" ], "id_hash": 1482672818427487656, "content_hash": 1482672818427487656, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:164", "context": "", "note": "type: Title ===", "flags": "no-wrap", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 36, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 3, "source_unit": "https://translate-dev.freebsd.org/api/units/1077842/?format=api", "priority": 100, "id": 1077950, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=94938312a47f65a8", "url": "https://translate-dev.freebsd.org/api/units/1077950/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T12:52:51.587041Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "Compiler based run-time bounds checking" ], "previous_source": "", "target": [ "بررسی حدود زمان اجرا بر پایهٔ همگردان" ], "id_hash": 5015406215195834292, "content_hash": 5015406215195834292, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:178", "context": "", "note": "type: Title ====", "flags": "no-wrap", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 39, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 5, "source_unit": "https://translate-dev.freebsd.org/api/units/1077848/?format=api", "priority": 100, "id": 1077953, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=c59a4d614508b7b4", "url": "https://translate-dev.freebsd.org/api/units/1077953/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T12:52:51.684911Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "Recompiling your application with ProPolice is an effective means of stopping most buffer-overflow attacks, but it can still be compromised." ], "previous_source": "", "target": [ "همگردانی مجدد برنامهٔ خود با ProPolice شیوهای مؤثر برای متوقف کردن بیشتر حملات سرریز میانگیر است، گرچه هنوز هم میتواند در معرض خطر قرار گیرد." ], "id_hash": 5890821570112056758, "content_hash": 5890821570112056758, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:191", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 43, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 20, "source_unit": "https://translate-dev.freebsd.org/api/units/1077856/?format=api", "priority": 100, "id": 1077957, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=d1c06701d1bcedb6", "url": "https://translate-dev.freebsd.org/api/units/1077957/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T12:52:51.776647Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "Library based run-time bounds checking" ], "previous_source": "", "target": [ "بررسی حدود زمان اجرا بر پایهٔ کتابخانه" ], "id_hash": 6579128004137501311, "content_hash": 6579128004137501311, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:192", "context": "", "note": "type: Title ====", "flags": "no-wrap", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 44, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 5, "source_unit": "https://translate-dev.freebsd.org/api/units/1077858/?format=api", "priority": 100, "id": 1077958, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=db4dc20fe270c27f", "url": "https://translate-dev.freebsd.org/api/units/1077958/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T12:52:51.783596Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "libsafe" ], "previous_source": "", "target": [ "libsafe" ], "id_hash": -5033167929895385733, "content_hash": -5033167929895385733, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:198", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 46, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 1, "source_unit": "https://translate-dev.freebsd.org/api/units/1077862/?format=api", "priority": 100, "id": 1077960, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=3a26986f43b2857b", "url": "https://translate-dev.freebsd.org/api/units/1077960/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T12:52:51.796549Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "libverify" ], "previous_source": "", "target": [ "libverify" ], "id_hash": -7953553575076114393, "content_hash": -7953553575076114393, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:199", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 47, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 1, "source_unit": "https://translate-dev.freebsd.org/api/units/1077864/?format=api", "priority": 100, "id": 1077961, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=119f4d29c78cd027", "url": "https://translate-dev.freebsd.org/api/units/1077961/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T12:52:51.803568Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "libparanoia" ], "previous_source": "", "target": [ "libparanoia" ], "id_hash": -8260018767836013183, "content_hash": -8260018767836013183, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:200", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 48, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 1, "source_unit": "https://translate-dev.freebsd.org/api/units/1077866/?format=api", "priority": 100, "id": 1077962, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=0d5e84b1b1131d81", "url": "https://translate-dev.freebsd.org/api/units/1077962/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T12:52:51.872853Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "SetUID issues" ], "previous_source": "", "target": [ "مشکلات SetUID" ], "id_hash": -8815010064804018773, "content_hash": -8815010064804018773, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:207", "context": "", "note": "type: Title ==", "flags": "no-wrap", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 50, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://translate-dev.freebsd.org/api/units/1077870/?format=api", "priority": 100, "id": 1077964, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=05aacb0ccbdd05ab", "url": "https://translate-dev.freebsd.org/api/units/1077964/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T12:52:51.885833Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "Limiting your program's environment" ], "previous_source": "", "target": [ "محدودسازی محیط برنامه" ], "id_hash": -4148873277756816584, "content_hash": -4148873277756816584, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:220", "context": "", "note": "type: Title ==", "flags": "no-wrap", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 54, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 4, "source_unit": "https://translate-dev.freebsd.org/api/units/1077878/?format=api", "priority": 100, "id": 1077968, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=466c3dbc4d31c338", "url": "https://translate-dev.freebsd.org/api/units/1077968/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T12:52:51.978056Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "FreeBSD's jail functionality" ], "previous_source": "", "target": [ "عملکرد زندان FreeBSD" ], "id_hash": -4287525010520924617, "content_hash": -4287525010520924617, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:234", "context": "", "note": "type: Title ===", "flags": "no-wrap", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 57, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 3, "source_unit": "https://translate-dev.freebsd.org/api/units/1077884/?format=api", "priority": 100, "id": 1077971, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=447fa6b81e4c1e37", "url": "https://translate-dev.freebsd.org/api/units/1077971/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T12:52:51.996751Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "A superuser process within a jailed environment has the power to:" ], "previous_source": "", "target": [ "یک پردازش ابرکاربر در محیطی زندانی شده قدرت انجام موارد پیشرو را دارد:" ], "id_hash": 1973459111060164165, "content_hash": 1973459111060164165, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:244", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 60, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 11, "source_unit": "https://translate-dev.freebsd.org/api/units/1077890/?format=api", "priority": 100, "id": 1077974, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=9b63229b0d7fce45", "url": "https://translate-dev.freebsd.org/api/units/1077974/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T12:52:52.079975Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "Manipulate credential with `setuid`, `seteuid`, `setgid`, `setegid`, `setgroups`, `setreuid`, `setregid`, `setlogin`" ], "previous_source": "", "target": [ "" ], "id_hash": -3337541256173321798, "content_hash": -3337541256173321798, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:246", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 61, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 11, "source_unit": "https://translate-dev.freebsd.org/api/units/1077892/?format=api", "priority": 100, "id": 1077975, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=51aeabe91a9401ba", "url": "https://translate-dev.freebsd.org/api/units/1077975/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T12:52:52.085494Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "Set resource limits with `setrlimit`" ], "previous_source": "", "target": [ "" ], "id_hash": -2271069336317612134, "content_hash": -2271069336317612134, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:247", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 62, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 5, "source_unit": "https://translate-dev.freebsd.org/api/units/1077894/?format=api", "priority": 100, "id": 1077976, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=607b8a78a481af9a", "url": "https://translate-dev.freebsd.org/api/units/1077976/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T12:52:52.090541Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "Modify some sysctl nodes (kern.hostname)" ], "previous_source": "", "target": [ "ویرایش کردن برخی از گرههای sysctl (kern.hostname)" ], "id_hash": 4846468713610593552, "content_hash": 4846468713610593552, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:248", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 63, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 5, "source_unit": "https://translate-dev.freebsd.org/api/units/1077896/?format=api", "priority": 100, "id": 1077977, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=c3421d9e09cdc510", "url": "https://translate-dev.freebsd.org/api/units/1077977/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T12:52:52.095726Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "`chroot()`" ], "previous_source": "", "target": [ "" ], "id_hash": -3157550524823190822, "content_hash": -3157550524823190822, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:249", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 64, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 1, "source_unit": "https://translate-dev.freebsd.org/api/units/1077898/?format=api", "priority": 100, "id": 1077978, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=542e2086ef90c2da", "url": "https://translate-dev.freebsd.org/api/units/1077978/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T12:52:52.100800Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "Set flags on a vnode: `chflags`, `fchflags`" ], "previous_source": "", "target": [ "" ], "id_hash": 7352679409301401116, "content_hash": 7352679409301401116, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:250", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 65, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 7, "source_unit": "https://translate-dev.freebsd.org/api/units/1077900/?format=api", "priority": 100, "id": 1077979, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=e609f6f772bd2e1c", "url": "https://translate-dev.freebsd.org/api/units/1077979/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T12:52:52.174906Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "Set attributes of a vnode such as file permission, owner, group, size, access time, and modification time." ], "previous_source": "", "target": [ "نتظیم کردن صفات یک vnode مانند مجوز پرونده، مالک، گروه، اندازه، زمان دسترسی، زمان ویرایش." ], "id_hash": -8091158357156879856, "content_hash": -8091158357156879856, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:251", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 66, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 17, "source_unit": "https://translate-dev.freebsd.org/api/units/1077902/?format=api", "priority": 100, "id": 1077980, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=0fb66e57cc3b2210", "url": "https://translate-dev.freebsd.org/api/units/1077980/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T12:52:52.184658Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "Bind to privileged ports in the Internet domain (ports < 1024)" ], "previous_source": "", "target": [ "" ], "id_hash": 8696717788198709290, "content_hash": 8696717788198709290, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:252", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 67, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 11, "source_unit": "https://translate-dev.freebsd.org/api/units/1077904/?format=api", "priority": 100, "id": 1077981, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=f8b0f2c04d67a82a", "url": "https://translate-dev.freebsd.org/api/units/1077981/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T12:52:52.190772Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "POSIX(R).1e Process Capabilities" ], "previous_source": "", "target": [ "" ], "id_hash": -7361152641770052475, "content_hash": -7361152641770052475, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:257", "context": "", "note": "type: Title ===", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 69, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 3, "source_unit": "https://translate-dev.freebsd.org/api/units/1077908/?format=api", "priority": 100, "id": 1077983, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=19d7eeac61de2485", "url": "https://translate-dev.freebsd.org/api/units/1077983/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T12:52:52.274035Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "POSIX(R) has released a working draft that adds event auditing, access control lists, fine grained privileges, information labeling, and mandatory access control." ], "previous_source": "", "target": [ "" ], "id_hash": 5422909434929481146, "content_hash": 5422909434929481146, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:260", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 70, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 22, "source_unit": "https://translate-dev.freebsd.org/api/units/1077910/?format=api", "priority": 100, "id": 1077984, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=cb420b66361605ba", "url": "https://translate-dev.freebsd.org/api/units/1077984/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T12:52:52.280684Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "Trust" ], "previous_source": "", "target": [ "اعتماد" ], "id_hash": -8112819803241516396, "content_hash": -8112819803241516396, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:265", "context": "", "note": "type: Title ==", "flags": "no-wrap", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 72, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 1, "source_unit": "https://translate-dev.freebsd.org/api/units/1077914/?format=api", "priority": 100, "id": 1077986, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=0f69795f5d08f294", "url": "https://translate-dev.freebsd.org/api/units/1077986/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T12:52:52.294589Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "Race Conditions" ], "previous_source": "", "target": [ "حالات تسابق" ], "id_hash": -8404700371272369832, "content_hash": -8404700371272369832, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:279", "context": "", "note": "type: Title ==", "flags": "no-wrap", "labels": [], "state": 20, "fuzzy": false, "translated": true, "approved": false, "position": 76, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 2, "source_unit": "https://translate-dev.freebsd.org/api/units/1077922/?format=api", "priority": 100, "id": 1077990, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=0b5c818ad6b77958", "url": "https://translate-dev.freebsd.org/api/units/1077990/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-05-23T12:52:52.387472Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "Secure Programming in FreeBSD" ], "previous_source": "", "target": [ "" ], "id_hash": -5355017718334906789, "content_hash": -5355017718334906789, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:1", "context": "", "note": "type: YAML Front Matter: description", "flags": "no-wrap", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 1, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 4, "source_unit": "https://translate-dev.freebsd.org/api/units/1176252/?format=api", "priority": 100, "id": 1176255, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=35af27c1dcb99e5b", "url": "https://translate-dev.freebsd.org/api/units/1176255/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-06-03T21:12:40.253169Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "Writing secure applications takes a very scrutinous and pessimistic outlook on life. Applications should be run with the principle of \"least privilege\" so that no process is ever running with more than the bare minimum access that it needs to accomplish its function. Previously tested code should be reused whenever possible to avoid common mistakes that others may have already fixed." ], "previous_source": "", "target": [ "نوشتن برنامههای ایمن نیازمند نظرگاهی بسیار دقیق و بدبینانه نسبت به زندگی است. برنامهها باید با اصل <quote>کمترین امتیاز</quote> اجرا شوند تا هیچ فرآیندی با بیش از حداقل دسترسی که برای دستیابی به کارکرد خود نیاز دارد اجرا نشود. کدهای از پیش آزموده شده باید هرزمان که ممکن بود مجدداً مورد استفاده قرار گیرند تا از اشتباهات رایجی که دیگران احتمالاً از پیش رفع کردهاند اجتناب شود." ], "id_hash": 4177033790952136256, "content_hash": 4177033790952136256, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:63", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 7, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 61, "source_unit": "https://translate-dev.freebsd.org/api/units/1194744/?format=api", "priority": 100, "id": 1194822, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=b9f7ce1a1c815e40", "url": "https://translate-dev.freebsd.org/api/units/1194822/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-06-08T11:36:29.648210Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "One of the pitfalls of the UNIX(R) environment is how easy it is to make assumptions about the sanity of the environment. Applications should never trust user input (in all its forms), system resources, inter-process communication, or the timing of events. UNIX(R) processes do not execute synchronously so logical operations are rarely atomic." ], "previous_source": "", "target": [ "" ], "id_hash": 434669108076777902, "content_hash": 434669108076777902, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:67", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 8, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 53, "source_unit": "https://translate-dev.freebsd.org/api/units/1194746/?format=api", "priority": 100, "id": 1194823, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=8608414035c091ae", "url": "https://translate-dev.freebsd.org/api/units/1194823/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-06-08T11:36:29.759373Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "Buffer Overflows have been around since the very beginnings of the von Neumann crossref:bibliography[cod,1] architecture. They first gained widespread notoriety in 1988 with the Morris Internet worm. Unfortunately, the same basic attack remains effective today. By far the most common type of buffer overflow attack is based on corrupting the stack." ], "previous_source": "", "target": [ "" ], "id_hash": -141180012742057317, "content_hash": -141180012742057317, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:75", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 10, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 51, "source_unit": "https://translate-dev.freebsd.org/api/units/1194748/?format=api", "priority": 100, "id": 1194824, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=7e0a6d86c31fe29b", "url": "https://translate-dev.freebsd.org/api/units/1194824/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-06-08T11:36:29.960572Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "Most modern computer systems use a stack to pass arguments to procedures and to store local variables. A stack is a last in first out (LIFO) buffer in the high memory area of a process image. When a program invokes a function a new \"stack frame\" is created. This stack frame consists of the arguments passed to the function as well as a dynamic amount of local variable space. The \"stack pointer\" is a register that holds the current location of the top of the stack. Since this value is constantly changing as new values are pushed onto the top of the stack, many implementations also provide a \"frame pointer\" that is located near the beginning of a stack frame so that local variables can more easily be addressed relative to this value. crossref:bibliography[cod,1] The return address for function calls is also stored on the stack, and this is the cause of stack-overflow exploits since overflowing a local variable in a function can overwrite the return address of that function, potentially allowing a malicious user to execute any code he or she wants." ], "previous_source": "", "target": [ "" ], "id_hash": -7602865524022221794, "content_hash": -7602865524022221794, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:84", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 11, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 183, "source_unit": "https://translate-dev.freebsd.org/api/units/1194750/?format=api", "priority": 100, "id": 1194825, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=167d32166d97641e", "url": "https://translate-dev.freebsd.org/api/units/1194825/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-06-08T11:36:30.161174Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "The C programming language does not perform automatic bounds checking on arrays or pointers as many other languages do. In addition, the standard C library is filled with a handful of very dangerous functions." ], "previous_source": "", "target": [ "زبان برنامهنویسی C بهطور خودکار بررسی حدود را بر روی آرایهها یا اشارهگرها چنانکه بسیاری از زبانها انجام میدهند، انجام نمیدهد. همچنین، کتابخانهٔ استاندارد C پر است از تعداد انگشتشماری از توابع بسیار خطرناک." ], "id_hash": 5104610697353124957, "content_hash": 5104610697353124957, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:90", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 13, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 34, "source_unit": "https://translate-dev.freebsd.org/api/units/1194752/?format=api", "priority": 100, "id": 1194826, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=c6d7386244645c5d", "url": "https://translate-dev.freebsd.org/api/units/1194826/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-06-08T11:36:30.252585Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "The most straightforward solution to the problem of stack-overflows is to always use length restricted memory and string copy functions. `strncpy` and `strncat` are part of the standard C library. These functions accept a length value as a parameter which should be no larger than the size of the destination buffer. These functions will then copy up to 'length' bytes from the source to the destination. However there are a number of problems with these functions. Neither function guarantees NUL termination if the size of the input buffer is as large as the destination. The length parameter is also used inconsistently between strncpy and strncat so it is easy for programmers to get confused as to their proper usage. There is also a significant performance loss compared to `strcpy` when copying a short string into a large buffer since `strncpy` NUL fills up the size specified." ], "previous_source": "", "target": [ "سادهترین راهحل برای مشکلات سرریزی پشته این است که همیشه از حافظه محدود و توابع کپی کردن رشته استفاده کنید. توابع <function>strncpy</function> و <function>strncat</function> بخشی از کتابخانهٔ استاندارد C هستند. <_:indexterm-1/> <_:indexterm-2/> این توابع یک مقدار طول بهعنوان پارامتر دریافت میکند که نباید بزرگتر از اندازهٔ میانگیر مقصد باشد. این توابع سپس به اندازهٔ آن مقدار بایت از مبدأ به مقصد کپی میکنند. با این حال این توابع هم مشکلاتی دارند. هیچ کدام پایاندهی NUL را در صورتی که اندازه میانگیر ورودی به بزرگی خروجی <_:indexterm-3/> باشد تضمین نمیکنند. همچنین پارامتر طول بین strncpy و strncat به یک شکل استفاده نمیشود، از این رو برنامهنویسان در خصوص استفاده درست آنها به سادگی گیج میشوند. همچنین به نسبت <function>strcpy</function> از دست دهی عملکرد قابل توجهی بههنگام کپی کردن یک رشته کوتاه به یک میانگیر بزرگ وجود دارد، چرا که NUL مختص به <function>strncpy</function> کل اندازه مشخص شده را پر میکند." ], "id_hash": -4657702395399893570, "content_hash": -4657702395399893570, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:174", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 37, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 146, "source_unit": "https://translate-dev.freebsd.org/api/units/1194754/?format=api", "priority": 100, "id": 1194827, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=3f5c845954b40dbe", "url": "https://translate-dev.freebsd.org/api/units/1194827/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-06-08T11:36:30.557974Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "Another memory copy implementation exists to get around these problems. The `strlcpy` and `strlcat` functions guarantee that they will always null terminate the destination string when given a non-zero length argument." ], "previous_source": "", "target": [ "پیادهسازی دیگری از کپیبرداری حافظه برای مدیریت این مشکلات وجود دارد. توابع <function>strlcpy</function> و <function>strlcat</function> تضمین میکنند که همیشه رشتهٔ مقصد را بههنگام داده شدن برهانی به اندازهٔ غیر صفر، پایاندهیِ پوچ کند." ], "id_hash": -3011669586385604985, "content_hash": -3011669586385604985, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:177", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 38, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 31, "source_unit": "https://translate-dev.freebsd.org/api/units/1194756/?format=api", "priority": 100, "id": 1194828, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=56346677baa36e87", "url": "https://translate-dev.freebsd.org/api/units/1194828/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-06-08T11:36:30.660133Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "Unfortunately there is still a very large assortment of code in public use which blindly copies memory around without using any of the bounded copy routines we just discussed. Fortunately, there is a way to help prevent such attacks - run-time bounds checking, which is implemented by several C/C++ compilers." ], "previous_source": "", "target": [ "شوربختانه، هنوز هم گسترهٔ بسیار بزرگی از کد در دسترس عموم هست که کورکورانه بدون رعایت روال کپیبرداریِ محدود که پیشتر در موردش بحث کردیم از حافظه کپیبرداری میکند. خوشبختانه، راهی برای پیشگیری از چنین حملاتی وجود دارد — بررسی حدود زمان اجرا، که توسط چندین همگردان C/C++ پیادهسازی شده است." ], "id_hash": -1009834674466087249, "content_hash": -1009834674466087249, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:182", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 40, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 50, "source_unit": "https://translate-dev.freebsd.org/api/units/1194758/?format=api", "priority": 100, "id": 1194829, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=71fc58b6c2939eaf", "url": "https://translate-dev.freebsd.org/api/units/1194829/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-06-08T11:36:30.852379Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "ProPolice is one such compiler feature, and is integrated into man:gcc[1] versions 4.1 and later. It replaces and extends the earlier StackGuard man:gcc[1] extension." ], "previous_source": "", "target": [ "" ], "id_hash": -943732280010171908, "content_hash": -943732280010171908, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:185", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 0, "fuzzy": false, "translated": false, "approved": false, "position": 41, "has_suggestion": false, "has_comment": false, "has_failing_check": false, "num_words": 24, "source_unit": "https://translate-dev.freebsd.org/api/units/1194760/?format=api", "priority": 100, "id": 1194830, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=72e7307dceec99fc", "url": "https://translate-dev.freebsd.org/api/units/1194830/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-06-08T11:36:30.860645Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "ProPolice helps to protect against stack-based buffer overflows and other attacks by laying pseudo-random numbers in key areas of the stack before calling any function. When a function returns, these \"canaries\" are checked and if they are found to have been changed the executable is immediately aborted. Thus any attempt to modify the return address or other variable stored on the stack in an attempt to get malicious code to run is unlikely to succeed, as the attacker would have to also manage to leave the pseudo-random canaries untouched." ], "previous_source": "", "target": [ "ProPolice با قرار دادن اعداد شبه تصادفی در نقاط کلیدی پشته قبل از فراخوانی هرگونه تابع، به محافظت در برابر سرریزهای میانگیر مبتنیبر پشته و سایر حملات کمک میکند. زمانیکه یک تابع برمیگردد، این <quote>هشدارها</quote> بررسی میشوند و چنانچه دچار تغییر شده باشند، پروندهٔ اجراپذیر بهسرعت پایان مییابد. از این رو هر تلاشی در راستای تغییر نشانی بازگشت یا سایر متغیرهای ذخیره شده در پشته بهمنظور اجرای کد مخرب نافرجام خواهد بود، زیرا مهاجم مجبور میشود تا هشدارهای شبه تصادفی را هم دستنخورده بگذارد." ], "id_hash": -8922128668721752089, "content_hash": -8922128668721752089, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:189", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 42, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 89, "source_unit": "https://translate-dev.freebsd.org/api/units/1194762/?format=api", "priority": 100, "id": 1194831, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=042e3b3f4c82d7e7", "url": "https://translate-dev.freebsd.org/api/units/1194831/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-06-08T11:36:30.952786Z" }, { "translation": "https://translate-dev.freebsd.org/api/translations/documentation/booksdevelopers-handbooksecure_index/fa/?format=api", "source": [ "Compiler-based mechanisms are completely useless for binary-only software for which you cannot recompile. For these situations there are a number of libraries which re-implement the unsafe functions of the C-library (`strcpy`, `fscanf`, `getwd`, etc..) and ensure that these functions can never write past the stack pointer." ], "previous_source": "", "target": [ "سازوکارهای مبتنیبر همگردان برای نرمافزار فقط دودویی که قابلیت همگردانی مجدد را ندارد سراسر بیهوده هستند. در چنین شرایطی چندین کتابخانه هستند که توابع ناامن کتابخانهٔ C را مجدد پیادهسازی میکنند (<function>strcpy</function>، <function>fscanf</function>، <function>getwd</function> و غیره ...) و اطمینان پیدا میکنند که این توابع هرگز نتوانند فراتر از اشارهگر پشته بنویسند." ], "id_hash": -8902647950753050222, "content_hash": -8902647950753050222, "location": "documentation/content/en/books/developers-handbook/secure/_index.adoc:196", "context": "", "note": "type: Plain text", "flags": "", "labels": [], "state": 10, "fuzzy": true, "translated": false, "approved": false, "position": 45, "has_suggestion": false, "has_comment": false, "has_failing_check": true, "num_words": 46, "source_unit": "https://translate-dev.freebsd.org/api/units/1194764/?format=api", "priority": 100, "id": 1194832, "web_url": "https://translate-dev.freebsd.org/translate/documentation/booksdevelopers-handbooksecure_index/fa/?checksum=047370db67015192", "url": "https://translate-dev.freebsd.org/api/units/1194832/?format=api", "explanation": "", "extra_flags": "", "pending": false, "timestamp": "2021-06-08T11:36:31.062654Z" } ] }{ "count": 78, "next": "