SQLite mağaza basit bir id-> json ucuz ve kirli Q & A depolama için mantıklı mıdır?

1 Cevap php

The Situation

Ben basit (temelde salt web uygulaması) yazmak için bir çok sıkıştırılmış zaman çizelgesi var. App bir çoğunlukla jQuery odaklı bir soru ağaç olmaktır. Sorular ve ağaç muhtemelen öncesi ve site başlattı sonrasında değiştirmeniz gerekir.

Yanıtlar e-posta alacaksınız ... Herhalde bile onları saklamak gerekmez, ama sadece durumda gidiyorum.

Bu çok kısa sırayla paylaşılan bir bilgisayar üzerinde tokatladı gerekiyor.

My proposed strategy

The Question Tree Itself

Çoğunlukla jQuery ve HTML soru ağacı ve doğrulama uygulamak. Her soru için biçimi olarak "Soru Cevap": "Soru metin" ile bir javascript nesnesi olarak depolanır soru-cevap devlet tutun.

Form doğrulama jQuery sadece, başka bireysel alanların hiçbir sunucu tarafı doğrulama (sonradan belirtildiği gibi) sadece geçerli json yapıyor sokulur dayalı olacaktır.

Identifying a User

Her kullanıcı için benzersiz anahtar olarak PHP oturum kimliği kullanmak, PHP ile oturum durumunu ele.

Her soruya cevap olarak, PHP oturum kimliğini kabul eden bir çok basit bir PHP komut dosyası için basit bir AJAX arama ve nesnenin JSON repreentation olun. (O her zaman gönderme nedeni, kullanıcı soruları yanıtlayan sonlandırılıyor eğer, en azından biz BAZI veri almak böyledir.)

Storage

Depolama böyle bir (gömülü php) SQLite DB işlenir:

CREATE TABLE q_and_a_storage (
  php_session_id text primary key,
  json_storage text
);

Server Side

PHP AJAX komut dosyası çok aptal alırsınız. Bu sadece uygun şekilde oturum kimliği varsa görmek için DB denetler ve sonra INSERT ya GÜNCELLEME ait. Ayrıca tepki takmadan önce geçerli json emin kılar.

Ben sadece bu makul olduğunu inanılmaz çılgınlık ya da olduğunu bilmek istiyorum. Ben düşünmüyorum bazı büyük güvenlik açığı var mı?

Things people are going to want to know:

  • Ben bu tekrarında formun bir milyon dolgu altında tahmin ediyorum
  • Biz gerçekten yapmamız gereken şey biz veri ile bir ilk e-posta göndermek emin olun ama ben sadece durumda depolamak ediyorum
  • Ben soru seti retune gerekir ve sorular gitmeli ve hangi kalmalıdır bilerek hemen hemen hiçbir şekilde olacak ÇOK olasıdır.
  • Ben verilerin daha sonra analiz gerekiyorsa daha sonra bu model bana çekici neden olan, üzerinde sorguları azaltmak / a CouchDB göndermek ve harita çalıştırabilirsiniz.
  • Javascript tek form gönderme çoğu spam engeller gibi görünüyor, ve saldırı için sadece ödeme JSON DB depolanan işe yaramaz.
  • Süper hızlı geliştirme zamanı ve soru setinin esnekliği burada gerçekten önemli faktörlerdir.

1 Cevap

Çok kapsamlı bir açıklama, teşekkürler. Yani (bu konularda) burada görmek bir zayıf nokta session id evince ya da tahmin edebilirsiniz herkes cevapları temsil JSON "geriye dönük değiştirebilirsiniz" olabilir - Ben JSON "yararsız" olduğunu söylediğini biliyorum, ama, Bu durumda eğer, o zaman neden ilk etapta bunu depolamak -?) Belki (bu aslında güvenli ise, o zaman benim itiraz parçalanan) php session id nin güvenliği konusunda aşırı paranoyak olmak, ama kulüpler için herhangi bir değer varsa Bu tür geriye dönük değişiklikleri gerçekleştirirken potansiyel spam, o zaman ben (benim kendi denetimi altında güvenli bir şekilde şifrelenmiş çerezlere dayalı ...) Bir doğrulama düzeyi eklemek istiyorum.