summaryrefslogtreecommitdiff
path: root/talermerchantdemos/blog/articles/tr/javascript-trap.html
diff options
context:
space:
mode:
Diffstat (limited to 'talermerchantdemos/blog/articles/tr/javascript-trap.html')
-rw-r--r--talermerchantdemos/blog/articles/tr/javascript-trap.html333
1 files changed, 333 insertions, 0 deletions
diff --git a/talermerchantdemos/blog/articles/tr/javascript-trap.html b/talermerchantdemos/blog/articles/tr/javascript-trap.html
new file mode 100644
index 0000000..307fcb7
--- /dev/null
+++ b/talermerchantdemos/blog/articles/tr/javascript-trap.html
@@ -0,0 +1,333 @@
+<!--#set var="ENGLISH_PAGE" value="/philosophy/javascript-trap.en.html" -->
+
+<!--#include virtual="/server/header.tr.html" -->
+<!-- Parent-Version: 1.90 -->
+
+<!-- This file is automatically generated by GNUnited Nations! -->
+<title>JavaScript Tuzağı</title>
+
+<!--#include virtual="/philosophy/po/javascript-trap.translist" -->
+<!--#include virtual="/server/banner.tr.html" -->
+<h2>JavaScript Tuzağı</h2>
+
+<p>yazan <a href="http://www.stallman.org/">Richard Stallman</a></p>
+
+<p><strong>Bilgisayarınızda web tarayıcınız aracılığıyla her gün farkında
+olmadan özgür olmayan programlar çalıştırıyor olabilirsiniz.</strong></p>
+
+<!-- any links that used to point to the appendices should point to
+ free-your-javascript.html instead. -->
+<blockquote>
+<p>Web yöneticileri: Bir web sitesindeki JavaScript programlarının lisansını
+belirtmenin <a href="/software/librejs/free-your-javascript.html">birkaç
+yolu</a> vardır.</p>
+</blockquote>
+
+<p>Özgür yazılım topluluğunda <a
+href="/philosophy/free-software-even-more-important.html">özgür olmayan
+herhangi bir programın kullanıcısına</a> kötü davrandığı fikri tanıdık
+geliyor. Bazılarımız bilgisayarlarımızdaki tüm özel mülk yazılımları
+reddederek özgürlüğümüzü savunuyoruz. Diğerleri özgür olmama durumunu
+programa karşı bir darbe olarak kabul eder.</p>
+
+<p>Pek çok kullanıcı, bu sorunun tarayıcıların kurmayı önerdiği eklentiler için
+geçerli olduğunun farkındadır, çünkü bu eklentiler özgür olabilirler de
+olmayabilir de. Ancak tarayıcılar; size sormadıkları, hatta size hiç söz
+etmedikleri başka özgür olmayan programları da çalıştırırlar, web
+sayfalarının doğrudan veya bağlantı olarak içerdiği programlar. Bu
+programlar çoğunlukla JavaScript ile yazılmış olsa da, diğer diller de
+kullanılabilir.</p>
+
+<p>JavaScript (resmî olarak ECMAScript olarak adlandırılır ancak bu adı
+kullanan azdır); bir zamanlar web sayfalarındaki sevimli ama önemsiz gezinme
+ve görüntüleme özellikleri gibi küçük süsler için kullanılırdı. Bunları
+gerçek yazılım olarak değil, yalnızca HTML dilinin uzantıları olarak kabul
+etmek ve konuyu takmamak makbuldu.</p>
+
+<p>Bazı siteler hâlâ bu şekilde JavaScript kullansa da, çoğunluğu daha büyük
+işler yapan büyük programlar için kullanıyor. Örneğin; Google Dokümanlar
+tarayıcınıza Obfuscript diyebileceğimiz sıkıştırılmış bir biçimde yarım
+megabaytlık bir JavaScript programı kurmaya çalışır. Bu sıkıştırılmış biçim,
+kaynak kodundan, kodu okunabilir hâle getiren ek boşlukları ve anlaşılabilir
+hâle getiren açıklayıcı yorumları silerek ve koddaki her anlamlı ismi keyfi
+bir kısa adla değiştirerek yapılır, böylece sonuçta ne anlama geldiğini
+anlayamayız.</p>
+
+<p><a href="/philosophy/free-sw.html">Özgür yazılımın</a> anlamının bir
+parçası, kullanıcıların programın kaynak koduna (planına)
+erişebilmeleridir. Bir programın kaynak kodu; yardımcı aralıklar, açıklayıcı
+yorumlar ve anlamlı adlar dahil olmak üzere programcıların değiştirmesi için
+tercih edilen biçim anlamına gelir. Sıkıştırılmış kod; kaynak kodu yerine
+sahte, işe yaramaz bir alternatiftir; bu programların gerçek kaynak kodu
+kullanıcılar tarafından kullanılamaz, bu yüzden kullanıcılar bunu anlayamaz;
+bu nedenle programlar özgür değildir.</p>
+
+<p>Özgür olmamaya ek olarak bu programların birçoğu <em>kötücül yazılımdır</em>
+çünkü <a
+href="http://github.com/w3c/fingerprinting-guidance/issues/8">kullanıcıyı
+gizlice gözetlerler</a>. Daha da kötüsü, bazı siteler, <a
+href="https://freedom-to-tinker.com/2017/11/15/no-boundaries-exfiltration-of-personal-data-by-session-replay-scripts/">sayfaya
+bakan kullanıcının eylemlerini</a> kaydeden hizmetleri
+kullanırlar. Hizmetler, söylendiğine göre, web sitesinin almaması gereken
+bazı hassas verileri hariç tutmak için kayıtları &ldquo;yeniden
+düzenliyor&rdquo;. Ancak bu güvenilir bir şekilde çalışsa bile bu
+hizmetlerin tüm amacı web sitesine aslında erişmemesi gereken kişisel
+veriler vermektir.</p>
+
+<p>Tarayıcılar normalde JavaScript programlarını ne zaman yüklediklerini size
+söylemez. Bazı tarayıcılarda JavaScript'i tamamen devre dışı bırakmanın bir
+yolu vardır ancak bu sorunun farkında olsanız bile anlaşılması zor olan
+özgür olmayan programları tanımlamanız ve engellemeniz büyük zorluklar
+doğuracaktır. Bununla birlikte özgür yazılım topluluğunda bile çoğu
+kullanıcı bu sorunun farkında değildir; tarayıcıların sessizliği onu gizleme
+eğilimindedir.</p>
+
+<p>Kaynak kodunu özgür bir yazılım lisansı altında dağıtarak bir JavaScript
+programını özgür yazılım olarak yayımlamak mümkündür. Program kendi kendine
+yetiyorsa, eğer işleyişi ve amacı içeri girdiği sayfadan bağımsızsa, bu iyi;
+makinenizdeki bir dosyaya kopyalayabilir, değiştirebilir ve çalıştırmak için
+bir tarayıcıyla bu dosyayı ziyaret edebilirsiniz. Ancak bu alışılmadık bir
+durum.</p>
+
+<p>Genelde JavaScript programlarının belirli bir sayfa veya siteyle çalışması
+amaçlanmıştır ve sayfa veya site bunların çalışmasına bağlıdır. Ardından
+başka bir problem ortaya çıkıyor: Programın kaynağı mevcut olsa bile
+tarayıcılar bu sayfayı veya siteyi ziyaret ederken değiştirilmiş
+versiyonunuzu orijinal yerine çalıştırmak için bir yol sunmuyor. Prensipte
+üstesinden gelmek çok zor olmasa da etki tivoizasyon ile
+karşılaştırılabilir.</p>
+
+<p>JavaScript, web sitelerinin kullanıcıya gönderilen programlar için
+kullandığı tek dil değildir. Flash, JavaScript'in genişletilmiş bir varyantı
+aracılığıyla programlamayı destekler; yeterince eksiksiz bir özgür Flash
+oynatıcımız olsa bile, özgür olmayan Flash programları ile ilgilenmemiz
+gerekiyor. Silverlight'in Flash'a benzer bir sorun yaratması muhtemel
+görünüyor, belki de daha da kötüsü, çünkü Microsoft bunu özgür olmayan kod
+çözücüler için bir platform olarak kullanıyor. Silverlight için özgür bir
+alternatif, normalde özgür alternatif kod çözücüleriyle birlikte gelmediği
+sürece, özgür dünyanın işine yaramaz.</p>
+
+<p>Java uygulamacıkları da tarayıcıda çalışır ve benzer sorunları ortaya
+çıkarır. Genel olarak herhangi bir uygulamacık sistemi bu tür bir sorun
+taşır. Bir uygulamacık için özgür bir yürütme ortamına sahip olmanın bize
+yararı ancak sorunla karşılaştırmak olur.</p>
+
+<p>Salt HTML ve CSS ile programlama teorik olarak mümkün olsa da, uygulamada bu
+yetenek sınırlıdır ve sakıncalıdır; sadece bir şeyi yapmak için etkileyici
+bir hack. Bu tür programlar özgür olmalı, fakat CSS 2019 itibareiyle
+kullanıcıların özgürlüğü için ciddi bir sorun değil.</p>
+
+<p>Web sitelerinin yalnızca özgür olan (bazıları &quot;açık&quot; olduğunu
+söylüyor), yani belgelendirmeleri yayınlanan ve gerçekleştirimlerinin özgür
+olduğu biçimleri ve protokolleri aracılığıyla iletişim kurmasını isteyen
+güçlü bir hareket gelişti. Ancak web sayfalarındaki JavaScript
+programlarının varlığı bu ölçütü yetersiz kılmaktadır. JavaScript dilinin
+kendisi bir biçim olarak özgürdür ve bir web sitesinde JavaScript kullanımı
+mutlaka kötü olmak zorunda değildir. Ancak, yukarıda gördüğümüz gibi,
+JavaScript programı özgür değilse, kötü de olabilir. Site kullanıcıya bir
+program gönderdiğinde programın belgelenmiş ve engelsiz bir dilde yazılması
+yeterli değildir; yazılan bu program da özgür olmalı. &ldquo;Kullanıcıya
+yalnızca özgür programları ileten&rdquo; etik bir web sitesi için ölçütün
+bir parçası haline gelmelidir.</p>
+
+<p>Özgür olmayan programların sessizce yüklenmesi ve çalıştırılması, &quot;web
+uygulamalarının&quot; ortaya çıkardığı çeşitli sorunlardan sadece
+biridir. &quot;Web uygulaması&quot; terimi, kullanıcılara sunulan yazılım
+ile sunucu üzerinde çalışan yazılımlar arasındaki temel ayrımı göz ardı
+etmek için tasarlanmıştır. Tarayıcıda çalışan özelleşmiş bir istemci
+programı kastediliyor olabilir; özelleşmiş sunucu yazılımı kastediliyor
+olabilir; özelleşmiş sunucu yazılımı ile birlikte çalışan özelleşmiş bir
+istemci programı kastediliyor olabilir. İstemci ve sunucu tarafları; farklı
+bir etik sorun ortaya çıkarmaktadır, sıkı bir şekilde entegre olmuş olsalar
+bile tartışmasız tek bir programın bölümlerini oluştururlar. Bu makale
+yalnızca istemci tarafındaki yazılım sorununu ele almaktadır. Sunucu
+sorununu ayrıca ele alıyoruz.</p>
+
+<p>Pratik açıdan web sitelerinde anlaşılması zor olan özgür olmayan JavaScript
+programları sorununu nasıl çözebiliriz? İlk adım, onu çalıştırmaktan
+kaçınmaktır.</p>
+
+<p>&quot;Anlaşılması zor olan&quot; derken neyi kastediyoruz? Bu bir seviye
+meselesidir, bu yüzden doğru bir cevap bulmak yerine iyi sonuçlar veren
+basit bir ölçüt tasarlama meselesidir.</p>
+<p>
+Şu anki ölçütümüz, aşağıdaki koşullardan herhangi birini içeren bir
+JavaScript programını anlaşılması zor bir program olarak değerlendirmektir:</p>
+
+<ul>
+ <li>harici bir komut dosyası olarak adlandırılır (başka bir sayfadan).</li>
+
+ <li>50'den fazla eleman uzunluğunda bir dizi tanımlar.</li>
+
+ <li>ilkel bir tipten başka bir şey çağıran adlandırılmış bir varlık (fonksiyon
+veya metot) tanımlar.</li>
+
+ <li>üçten fazla koşullu yapı ve döngü yapısı içeren adlandırılmış bir varlık
+tanımlar.</li>
+
+ <li>adlandırılmış tanımların dışındaki kod; sayfada daha fazla tanımlanan
+ilkellerden ve fonksiyonlardan başka bir şey çağırır.</li>
+
+ <li>adlandırılmış tanımların dışındaki kod; toplamda üçten fazla koşullu yapı ve
+döngü yapısı içerir.</li>
+
+ <li><b>eval</b> kullanır.</li>
+
+ <li>Ajax çağrıları yapar.</li>
+
+ <li><b><em>nesne</em>[<em>özellik</em>]</b> gibi, dinamik nesne özelliği erişimi
+için köşeli parantez gösterimini kullanır.</li>
+
+ <li>DOM'u değiştirir.</li>
+
+ <li>programı yorumlamadan analiz etmesi zor olan ya da bu tür yapıları kullanan
+betiklerle yüklü dinamik JavaScript yapılarını kullanır. Özellikle, bir
+karakter dizisinden başka bir yapıyı belirli metotlarla kullanma
+(<b>Obj.write</b>, <b>Obj.createElement</b> ve diğerleri).</li>
+</ul>
+
+<p>JavaScript kodunun özgür olup olmadığını nasıl anlarız? <a
+href="/licenses/javascript-labels.html">Ayrı bir makalede</a> bir web
+sayfasındaki anlaşılması zor olan bir JavaScript programının kaynak kodunun
+bulunduğu URL'yi ve biçimlendirilmiş yorumları kullanarak lisansını
+belirtebileceği bir yöntem öneriyoruz.</p>
+
+<p>Son olarak web sayfalarındaki anlaşılması zor olan özgür olmayan
+JavaScript'i tespit etmek ve engellemek için özgür tarayıcıları
+değiştirmemiz gerekiyor. <a href="/software/librejs/">LibreJS</a> programı;
+ziyaret ettiğiniz sayfalarda özgür olmayan, anlaşılması zor olan bir
+JavaScript'i tespit eder ve engeller. LibreJS, IceCat'a dâhil edilmiştir ve
+Firefox için bir eklenti olarak mevcuttur.</p>
+
+<p>Tarayıcı kullanıcılarının ayrıca belirli bir sayfada JavaScript
+<em>yerine</em> kullanılacak JavaScript kodunu belirtmek için uygun bir
+vasıtaya ihtiyacı vardır. (Belirtilen kod, bu sayfadaki özgür JavaScript
+programının tamamen değiştirilmesi veya değiştirilmiş bir sürümü olabilir.)
+Greasemonkey, bunu yapmaya en yakın eklentidir, ancak tam olarak bunu
+yapamaz, çünkü bu program çalıştırılmadan önce bir sayfadaki JavaScript
+kodunu değiştirmeyi garanti etmez. Yerel bir vekil sunucu kullanmak işe
+yarar ancak bu da gerçek bir çözüm olmak için çok zahmetli. Güvenilir ve
+uygun bir çözüm ve değişiklikleri paylaşmak için siteler oluşturmak
+gerekir. GNU Projesi sadece özgür değişikliklere adanmış siteleri önermek
+ister.</p>
+
+<p>Bu özellikler, bir web sayfasına dâhil olan bir JavaScript programının
+gerçek ve pratik anlamda özgür olmasını mümkün kılacaktır. JavaScript artık
+özgürlüğümüz için belirgin bir engel teşkil etmeyecek, şimdi C ve Java'nın
+olduğundan daha fazla değil en azından. Kurulum için teklif edilen özgür
+olmayan paketleri reddettiğimiz gibi, özgür olmayan, anlaşılması zor olan
+JavaScript programlarını reddebilecek ve hatta değiştirebileceğiz. Böylece
+web sitelerinin Javascript'lerini özgürleştirme kampanyamız da başlayabilir.</p>
+
+<p>Bu arada özgür olmayan bir JavaScript programını çalıştırmanın kabul
+edilebilir olduğu bir durum var: Web sitesi operatörlerine sitedeki
+JavaScript kodunu özgürleştirmeleri veya kaldırmaları gerektiğini söyleyen
+bir şikayet göndermek. Lütfen bunu yapmak için geçici olarak JavaScript'i
+etkinleştirmekten çekinmeyin, ancak elbette daha sonra tekrar devre dışı
+bırakmayı unutmayın.</p>
+
+<!-- any links that used to point to the appendices should point to
+ free-your-javascript.html instead. -->
+<blockquote>
+<p>Web yöneticileri: Bir web sitesindeki JavaScript programlarının lisansını
+belirtmenin <a href="/software/librejs/free-your-javascript.html">birkaç
+yolu</a> vardır.</p>
+</blockquote>
+
+<p><strong>Teşekkürler:</strong> <a href="/people/people.html#mattlee">Matt
+Lee</a> ve <a href="http://ejohn.org">John Resig</a>'e önerdiğimiz ölçütleri
+tanımlamamıza yardım ettikleri için ve sorunu dikkatime sunduğu için David
+Parunakian'a teşekkür ediyorum.</p>
+
+<div class="translators-notes">
+
+<!--TRANSLATORS: Use space (SPC) as msgstr if you don't have notes.-->
+ </div>
+</div>
+
+<!-- for id="content", starts in the include above -->
+<!--#include virtual="/server/footer.tr.html" -->
+<div id="footer">
+<div class="unprintable">
+
+<p>Lütfen FSF ve GNU ile ilgili sorularınızı <a
+href="mailto:gnu@gnu.org">&lt;gnu@gnu.org&gt;</a> adresine iletin. FSF ile
+iletişim kurmanın <a href="/contact/">başka yolları</a> da vardır. Lütfen
+çalışmayan bağlantıları ve başka düzeltmeleri veya önerilerinizi <a
+href="mailto:webmasters@gnu.org">&lt;webmasters@gnu.org&gt;</a> adresine
+gönderin.</p>
+
+<p>
+<!-- TRANSLATORS: Ignore the original text in this paragraph,
+ replace it with the translation of these two:
+
+ We work hard and do our best to provide accurate, good quality
+ translations. However, we are not exempt from imperfection.
+ Please send your comments and general suggestions in this regard
+ to <a href="mailto:web-translators@gnu.org">
+
+ &lt;web-translators@gnu.org&gt;</a>.</p>
+
+ <p>For information on coordinating and submitting translations of
+ our web pages, see <a
+ href="/server/standards/README.translations.html">Translations
+ README</a>. -->
+Çevirilerimizde bulmuş olabileceğiniz hataları, aklınızdaki soru ve
+önerilerinizi lütfen <a
+href="mailto:web-translators@gnu.org">bize&nbsp;bildirin</a>.</p><p>Bu
+yazının çeviri düzenlemesi ve sunuşu ile ilgili bilgi için lütfen <a
+href="/server/standards/README.translations.html">Çeviriler BENİOKU</a>
+sayfasına bakın. Bu sayfanın ve diğer tüm sayfaların Türkçe çevirileri
+gönüllüler tarafından yapılmaktadır; Türkçe niteliği yüksek bir <a
+href="/home.html">www.gnu.org</a> için bize yardımcı olmak istiyorsanız, <a
+href="https://savannah.gnu.org/projects/www-tr">çalışma&nbsp;sayfamızı</a>
+ziyaret edebilirsiniz.</p>
+</div>
+
+<!-- Regarding copyright, in general, standalone pages (as opposed to
+ files generated as part of manuals) on the GNU web server should
+ be under CC BY-ND 4.0. Please do NOT change or remove this
+ without talking with the webmasters or licensing team first.
+ Please make sure the copyright date is consistent with the
+ document. For web pages, it is ok to list just the latest year the
+ document was modified, or published.
+
+ If you wish to list earlier years, that is ok too.
+ Either "2001, 2002, 2003" or "2001-2003" are ok for specifying
+ years, as long as each year in the range is in fact a copyrightable
+ year, i.e., a year in which the document was published (including
+ being publicly visible on the web or in a revision control system).
+
+ There is more detail about copyright years in the GNU Maintainers
+ Information document, www.gnu.org/prep/maintain. -->
+<p>Copyright &copy; 2009-2013, 2016, 2017, 2018, 2019 Richard Stallman</p>
+
+<p>Bu sayfa <a rel="license"
+href="http://creativecommons.org/licenses/by-nd/4.0/deed.tr">Creative
+Commons Alıntı-Türetilemez 4.0 Uluslararası Lisansı</a> altında
+lisanslanmıştır.</p>
+
+<!--#include virtual="/server/bottom-notes.tr.html" -->
+<div class="translators-credits">
+
+<!--TRANSLATORS: Use space (SPC) as msgstr if you don't want credits.-->
+<p><strong>Çeviriye katkıda bulunanlar:</strong></p>
+<ul>
+<li>The FLOSS Information <a
+href="mailto:theflossinformation@gmail.com">&lt;theflossinformation@gmail.com&gt;</a>,
+2019, 2020.</li>
+
+</ul></div>
+
+<p class="unprintable"><!-- timestamp start -->
+Son Güncelleme:
+
+$Date: 2020/04/27 19:08:05 $
+
+<!-- timestamp end -->
+</p>
+</div>
+</div>
+<!-- for class="inner", starts in the banner include -->
+</body>
+</html>