คำถามติดแท็ก client-side

4
ความแตกต่างระหว่างการเขียนโปรแกรมฝั่งเซิร์ฟเวอร์และฝั่งไคลเอ็นต์คืออะไร
ฉันเคยเห็นคำถาม (ส่วนใหญ่เกี่ยวกับ Stack Overflow) ซึ่งขาดความรู้พื้นฐานนี้ ประเด็นของคำถามนี้คือการให้ข้อมูลที่ดีสำหรับผู้ที่กำลังมองหาและผู้ที่อ้างอิงถึง ในบริบทของการเขียนโปรแกรมเว็บความแตกต่างระหว่างการเขียนโปรแกรมฝั่งเซิร์ฟเวอร์และการเขียนโปรแกรมฝั่งไคลเอ็นต์คืออะไร ภาษาใดที่คุณใช้และแต่ละภาษาใช้เมื่อใด

8
การเข้ารหัสฝั่งไคลเอ็นต์: จะป้องกันการใช้งานที่ประสงค์ร้ายได้อย่างไร?
ในช่วงไม่กี่ปีที่ผ่านมาแนวโน้มของแอปพลิเคชันฝั่งไคลเอ็นต์ (เบราว์เซอร์) ได้ถูกถอดออกจริงๆ สำหรับโครงการล่าสุดของฉันฉันได้ตัดสินใจที่จะลองและย้ายไปตามเวลาและเขียนแอปพลิเคชันฝั่งไคลเอ็นต์ ส่วนหนึ่งของแอปพลิเคชันนี้เกี่ยวข้องกับการส่งอีเมลธุรกรรมไปยังผู้ใช้ (ตัวอย่างเช่นตรวจสอบความถูกต้องลงทะเบียนอีเมลรีเซ็ตรหัสผ่าน ฯลฯ ) ฉันใช้ API บุคคลที่สามเพื่อส่งอีเมล โดยปกติฉันจะให้แอปพลิเคชันของฉันทำงานบนเซิร์ฟเวอร์ ฉันจะเรียก API ของบุคคลที่สามจากรหัสบนเซิร์ฟเวอร์ของฉัน การเรียกใช้แอปพลิเคชันฝั่งไคลเอ็นต์หมายความว่าสิ่งนี้จะต้องเกิดขึ้นบนเบราว์เซอร์ของผู้ใช้ API บุคคลที่สามจัดเตรียมไฟล์ JavaScript ที่จำเป็นเพื่อให้บรรลุสิ่งนี้ ปัญหาที่เห็นได้ชัดแรกที่ฉันเห็นคือฉันต้องใช้คีย์ API ปกติแล้วนี่จะถูกเก็บไว้อย่างปลอดภัยบนเซิร์ฟเวอร์ของฉัน แต่ตอนนี้สมมุติว่าฉันจะต้องให้คีย์นี้แก่เบราว์เซอร์ไคลเอ็นต์ สมมติว่าฉันสามารถแก้ไขปัญหานี้ได้ปัญหาต่อไปคือสิ่งที่หยุดผู้ใช้ที่มีความชำนาญด้านเทคโนโลยีโหลดเครื่องมือผู้พัฒนา JavaScript บนเบราว์เซอร์และใช้อีเมล API อย่างไรก็ตามพวกเขาชอบแทนที่จะบอกว่าปฏิบัติตามกฎใด ๆ ที่ฉันตั้งไว้ในแอปพลิเคชัน . ฉันเดาคำถามทั่วไปของฉันคือ - เราจะป้องกันแอปพลิเคชันฝั่งไคลเอ็นต์ได้อย่างไร

8
ทำไมเกือบจะไม่มีหน้าแฮรหัสผ่านในไคลเอนต์ก่อนที่จะส่ง (และ hashing พวกเขาอีกครั้งบนเซิร์ฟเวอร์) เพื่อ“ ป้องกัน” จากการใช้รหัสผ่านซ้ำ?
มีเว็บไซต์จำนวนมากบนอินเทอร์เน็ตที่ต้องการข้อมูลการเข้าสู่ระบบและวิธีเดียวที่จะป้องกันการใช้รหัสผ่านซ้ำคือ "สัญญา" ว่ารหัสผ่านจะถูกแฮชบนเซิร์ฟเวอร์ซึ่งไม่ได้เป็นจริงเสมอไป ดังนั้นฉันจึงสงสัยว่าการสร้างหน้าเว็บที่แฮชรหัสผ่านในคอมพิวเตอร์ไคลเอนต์ (ด้วย Javascript) นั้นมีความยากขนาดไหนก่อนส่งไปยังเซิร์ฟเวอร์ซึ่งจะถูกแฮชอีกครั้ง ในทางทฤษฎีสิ่งนี้ไม่ได้ให้ความปลอดภัยเป็นพิเศษ แต่ในทางปฏิบัติสิ่งนี้สามารถใช้เพื่อป้องกัน "ไซต์หลอกลวง" ที่ไม่ใช้รหัสผ่านของคุณในเซิร์ฟเวอร์

5
ข้อดีข้อเสียของแอปพลิเคชันเว็บ HTML / JavaScript เท่านั้น [ปิด]
ฉันมาจากพื้นหลังในรูปแบบ ASP.NET และพบว่าการเขียนโค้ดด้านเซิร์ฟเวอร์มีประสิทธิภาพมากในอดีต อย่างไรก็ตามเมื่อเร็ว ๆ นี้ฉันต้องการเลิกใช้โค้ดฝั่งเซิร์ฟเวอร์ของส่วนหน้าและแทนที่ด้วย HTML / JavaScript ที่บริสุทธิ์ซึ่งเข้าถึงข้อมูลผ่านทาง JSON webservices ฉันไม่มีประสบการณ์จริงในเรื่องนี้ดังนั้นฉันจึงอยากได้ยินว่านี่เป็นรุ่นที่ผ่านการทดลองและทดสอบแล้วหรือไม่ นอกจากนี้ยังมีข้อผิดพลาดรอบตัวมันคืออะไร? ฉันพบว่าการควบคุมผู้ใช้ ASP.NET มีประโยชน์มากดังนั้นฉันจึงอยากจะรักษาทฤษฎีเอาไว้โดยการเก็บแม่แบบมาร์กอัปในไฟล์ HTML แยกต่างหากบนเซิร์ฟเวอร์ สิ่งเหล่านี้จะถูกดึงและใช้งานผ่าน jQuery AJAX และ jQuery HTML plugin plugin ตามลำดับ ข้อมูลใด ๆ ที่จะได้รับการชื่นชมอย่างมาก ป.ล. ขออภัยสำหรับคำถาม noob แต่สถาปัตยกรรมเว็บประเภทนี้เรียกว่า web-2.0 หรือฉันไม่ได้ติดตามอย่างสมบูรณ์หรือไม่

8
ข้อดี / ข้อเสียระหว่างการเน้นการประมวลผลฝั่งไคลเอ็นต์หรือฝั่งเซิร์ฟเวอร์
เหตุใดฉันจึงต้องการเขียนเว็บแอปที่มีการประมวลผลฝั่งเซิร์ฟเวอร์จำนวนมาก สำหรับฉันแล้วการเขียนโปรแกรมฝั่งไคลเอ็นต์เป็นข้อได้เปรียบอย่างมากเพราะจะทำให้เซิร์ฟเวอร์โหลดมากที่สุดเท่าที่จะเป็นไปได้เพราะมันจะต้องส่งข้อมูลไปยังไคลเอ็นต์ด้วยการประมวลผลที่น้อยที่สุด ฉันเห็นการเขียนแอปพลิเคชันบนเว็บน้อยมากนอกเหนือจากการเขียนฝั่งเซิร์ฟเวอร์และจัดการกับฝั่งไคลเอ็นต์เป็นมุมมองเท่านั้น ทำไมฉันถึงต้องการทำเช่นนี้? ข้อดีอย่างเดียวที่ฉันเห็นคือฉันสามารถเขียนเป็นภาษาใดก็ได้ที่ฉันต้องการ ( http://www.paulgraham.com/avg.html )

7
Python จะช้าเกินไปสำหรับการใช้งานฝั่งไคลเอ็นต์ในเบราว์เซอร์หรือไม่?
ฉันได้ยินคำแถลงว่า Python จะช้าเกินกว่าจะใช้งานได้ในเบราว์เซอร์ ฉันคิดว่า Javascript เหนือกว่าในแง่นี้เพราะ บริษัท อย่าง Google ที่ต้องการมันเร็ว (และทำให้เร็ว) เพราะพวกเขาต้องการมันเพื่อความอยู่รอด แต่ฉันอาจผิด มีความแตกต่างในการออกแบบของ Python และ Javascript หรือไม่ที่มีผลกระทบต่อประสิทธิภาพของเบราว์เซอร์ ตั้งแต่ตอนนี้ยังไม่มีการใช้งาน Python ในฝั่งไคลเอนต์คำถามของฉันมาจากคำแถลงที่คนทำดังนั้นบางทีมันอาจจะมีบางอย่างที่เกี่ยวกับภาษาของตัวเอง (แม้ว่าฉันจะไม่เชื่อ)

2
จะทำอย่างไรเมื่อคำขอถูกส่งไปยังเซิร์ฟเวอร์และในขณะที่รอการตอบสนองการเชื่อมต่ออินเทอร์เน็ตหายไป
ฉันกำลังส่งข้อมูลจำนวนมากไปยังเซิร์ฟเวอร์ ตอนนี้ขณะที่ฉันส่งข้อมูลและรอการตอบกลับจากเซิร์ฟเวอร์อุปกรณ์ Android ของฉันก็ขาดการเชื่อมต่ออินเทอร์เน็ต ดังนั้นสิ่งที่ฉันเคยทำคือการแสดงกล่องโต้ตอบการแจ้งเตือนของการเชื่อมต่อที่หายไป แต่ที่ฝั่งเซิร์ฟเวอร์ข้อมูลได้รับการประมวลผลแล้วและได้รับการอัปเดตที่ใดที่หนึ่งเช่น URL ใด ๆ แต่โทรศัพท์ Android ของฉันไม่รู้สิ่งนี้เพราะมันไม่ได้รับการตอบสนองเลย วิธีแก้ไข ไม่ว่าจะสามารถทำได้บนฝั่งเซิร์ฟเวอร์หรือบนตัว Android เองได้อย่างไร? เซิร์ฟเวอร์จะรู้ได้อย่างไรว่าโทรศัพท์ android จะไม่ฟังคำตอบ? มันอาจเป็นมุมมองการเพิ่มประสิทธิภาพการสื่อสารลูกค้า - เซิร์ฟเวอร์

3
ฉันจะป้องกันผู้ใช้จากการแก้ไขรหัสของฉันในเบราว์เซอร์ของพวกเขาได้อย่างไร
ลักษณะ ฉันออกแบบแอปพลิเคชั่น Node.JS (เหมือนเว็บไซต์เต็มรูปแบบ) แอพจะส่งไฟล์ JavaScript ห้าไฟล์และจะมี<script>แท็กเชื่อมโยงเข้าด้วยกัน คำถาม ฉันจะป้องกันผู้ใช้และผู้โจมตีโจมตีและแก้ไขโค้ดได้อย่างไร ตัวอย่างจะเป็น: Ctrl+ Shift+I ในDevtoolsให้ไปที่Sourcesเลือกไฟล์ที่จะแก้ไข (เช่นindex.html) และเขียนการแก้ไข การกดCtrl+ Sจะทำให้การแก้ไขสดเกิดขึ้น ฉันต้องการป้องกันตัวอย่างข้างต้นไม่ให้เกิดขึ้น ... เป็นไปได้หรือไม่ นี่คือสิ่งที่ฉันคิดว่า: ฉันจะสร้างไฟล์ JavaScript ฝั่งไคลเอนต์อีกไฟล์ Prevent_keys.js มันจะฟังCtrl+ +ShiftI ถ้ามันกลับมาtrue(เช่นกดปุ่ม) มันจะlogคีย์ อย่างไรก็ตามนั่นจะไม่หยุดผู้ใช้จากการใช้ Devtools โดยตรง

3
การใช้ภาษาเดียวกันกับไคลเอนต์และเซิร์ฟเวอร์มีความสำคัญอย่างไร
ฉันได้ประเมินโซลูชันสถาปัตยกรรมสำหรับโครงการมือถือที่จะมีบริการบนเว็บ / แอพนอกเหนือจากแอพพื้นฐานและได้ดูห้องสมุดกรอบงานและสแต็กต่าง ๆ เช่นMeteorซึ่งเป็นประเภทของ "open stack package framework" ถูกผูกไว้อย่างแน่นหนากับNode.js มีการพูดคุยกันมากมายเกี่ยวกับประโยชน์ของการใช้ภาษาเดียวกันทั้งฝั่งไคลเอ็นต์และฝั่งเซิร์ฟเวอร์และฉันไม่เข้าใจ ฉันสามารถเข้าใจว่าคุณต้องการสะท้อนสถานะทั้งหมดของเว็บแอปพลิเคชันบนทั้งไคลเอนต์และเซิร์ฟเวอร์ แต่พยายามดิ้นรนเพื่อหาชัยชนะอื่น ๆ ... ประสิทธิภาพของเวิร์กโฟลว์? ฉันพยายามที่จะเข้าใจว่าทำไมความเท่าเทียมกันของภาษาของลูกค้า / เซิร์ฟเวอร์จึงถือเป็นจอกศักดิ์สิทธิ์ เหตุใดความเท่าเทียมกันของภาษาไคลเอนต์ / เซิร์ฟเวอร์จึงมีความสำคัญในการพัฒนาซอฟต์แวร์

5
พื้นฐานทางประวัติศาสตร์ของการใช้ Javascript ในการเขียนโปรแกรมเว็บคืออะไร?
ฉันมาจากภูมิหลังทางวิทยาศาสตร์ที่เราใช้ Python บ่อยๆ ตอนนี้ฉันเริ่มที่จะเริ่มต้นด้วยการพัฒนาเว็บฉันพบว่าตัวเองสงสัยอยู่ตลอดเวลาว่าทำไม JavaScript เป็นภาษาฝั่งไคลเอ็นต์หลักบนเว็บ ความเด่นของ JavaScript คืออุบัติเหตุในอดีตหรืออย่างอื่นหรือไม่ นอกจากนี้ฉันอยากรู้อยากเห็นหากมีอุปสรรคใด ๆ ในการรวม Python เข้ากับสคริปต์ฝั่งไคลเอ็นต์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.