2010-09-11 5 views
8

Ich fange gerade mit Ruby on Rails Entwicklung an und habe eine Frage zum Quellcode "privacy".Ruby on Rails Quellcode Sicherheit/Verschleierung

Von dem, was ich weiß, bisher (ich habe keine Stationierung noch getan, verwendet nur RoR in einer lokalen Entwicklungsumgebung), dass, wenn eine RoR Anwendung bereitgestellt wird, werden alle der Quellcode „sichtbar“ auf dem Server ?

Wie kann ich meinen Code schützen? sozusagen? Durch den Schutz meine ich, der Hauptzweck ist, dass jemand (wie ein Server-Administrator auf einem RoR-Anbieter) nicht in der Lage ist, den Code zu "sabotieren", indem er leicht herausfindet, an welcher Stelle im Code "fummelt".

Wie stellen Websites wie Shopify, Yellowpages usw., die RoR verwenden, sicher, dass ihr Code nicht "sabotiert" wird?

UPDATE Was ich wirklich bin auf der Suche, nehme an, wenn ich einen Code haben, die Kreditkartentransaktionen tut, ich meine Website nicht einige Gauner Mitarbeiter wollen „Klartext Quellcode“ zu lesen und zu sabotieren, etwa durch lese meinen Quellcode und berechne dann jeden der angemeldeten Benutzer $ 10 als Gag. Wie verhindere ich solche Dinge?

+1

Webseiten ähnlich Shopify suchen, Yellow Pages usw. höchstwahrscheinlich ihre eigenen Server laufen, so sie kümmern sich nicht der Server-Admin den Code lesen kann. Wenn Sie einen bonafiden Hosting-Provider verwenden, ist es meines Erachtens nicht notwendig, Ihren Code zu schützen. – Mischa

+0

@capptokyo, also was Sie sagen, ist, dass es keinen Grund gibt, den Code zu verschleiern? – Zabba

+2

Wenn Sie Zahlungen akzeptieren, rollen Sie nicht Ihre eigenen Daten ab oder speichern Sie die Daten auf Ihren Servern. Gehe durch Orte wie Fastspring und/oder Paypal. Die Menge an Vorschriften ist umwerfend und es bedarf nur eines Fehlers, um Sie in legales heißes Wasser zu bringen. – user370731

Antwort

13

Ähnlich wie Matt Briggs ist, dass, wenn Sie Ihrem Webhost nicht vertrauen, Sie das falsche Problem ansprechen. Wenn Ihr Webhost Ihre Daten stehlen will, Ihre Website lahmlegen, Ihre Benutzer umleiten usw., nichts kann sie aufhalten. Selbst wenn der Code vollständig kompilierter Binärcode ist, der in Assembler geschrieben wurde, könnte Ihr Administrator immer noch einen Hack finden, Ressourcen ersetzen oder Ihren Code komplett ersetzen. Moral der Geschichte, finden Sie einen Web-Host, dem Sie vertrauen, nicht stören, Ihren Code zu verschleiern

+0

Nun, wie kann man einer dritten Partei überhaupt vertrauen? Wenn ich einen "X" -Zweck im Hinterkopf habe und ich mich auf einen Webhost verlassen muss, den ich nicht kontrollieren kann, wie kann ich ihnen dann "vertrauen"? Das ist die ganze Frage, die mir in den Sinn kommt. – Zabba

+0

@Zabba Du bist hier ziemlich paranoid. In einem sue-happy Land wie dem unseren wäre das alles extrem dumm von ihnen. – NullUserException

+3

Das berechtigtere Problem besteht wahrscheinlich darin, dass es sich um einen gemeinsam genutzten Server handelt, der nicht ordnungsgemäß konfiguriert ist, sodass Ihre Daten/Codes enthalten sein können. Die Art und Weise, wie sich mehr Unternehmen darum kümmern, besteht darin, eigene Server zu kaufen und zu sichern. Trotzdem hosten nur wenige ihre Server intern. Server-Hosts sind motiviert, NICHT von dir zu stehlen, weil (a) es illegal ist und sie nicht verklagt werden wollen und (b) wenn sie deinen Code stehlen würden, würde niemand ihre Dienste nutzen. Nichts für ungut, aber Ihr Code ist wahrscheinlich nicht mehr als die Summe der Einnahmen von allen ihren Kunden für nur einen Monat. – userx

9

Am Ende des Tages besteht Vertrauen. Wenn dein Administrator dich verarschen will, wird er es tun, und die Verschleierung wird nicht viel tun, um ihn aufzuhalten.

+0

Wenn eine App im x86-Assembler war, würde sie das weniger anfällig machen, oder? – Zabba

+2

Wahrscheinlich, aber der Typ steuert den Server. Wenn er will, könnte er das Styling Ihrer App fälschen, sich woanders hinstellen und Leute dorthin umleiten. Oder er könnte einfach in Ihre Datenbank schauen, die normalerweise wertvollere und sensiblere Dinge enthält, als Ihre App-Code sowieso –

+0

Zabba-Nur wenn der Admin Assembly nicht kennt. – user370731

3

Ich bezweifle stark, dass ein seriöser Hosting-Dienst mit Ihrem Code herumspielen wird. Sie sind beschäftigt genug, um ihre Server laufen zu lassen. Und wenn sie es wollen, gibt es nicht viel, was sie tun können, um sie aufzuhalten. Code-Verschleierung (in jeder Sprache) ist eine dumme Sache zu tun.

In Bezug auf Ihre Sicherheitsprobleme, ich hoffe nur, dass Sie keine Kreditkarteninformationen auf Ihrer Website speichern werden. Sie müssen PCI standards erfüllen, um dies zu tun, und das ist keine leichte Sache zu erreichen. Das Speichern von CC-Informationen ohne PCI-Konformität ist illegal.

Sie müssen also ein Zahlungs-Gateway (wie PayPal oder Authorize.net) für Ihre Zahlungen verwenden, und ich glaube, der Benutzer wird in der Lage zu sehen, was sie berechnet werden.

9

Aus meiner Erfahrung, wenn Sie ein Produkt verkaufen, die auf Kundenserver bereitstellen. Ich benutze

http://rubyencoder.com/

Es funktioniert in vielen Plattform von Boot-Loader. Aber wie gesagt, Schienen sollten offen sein.

+0

Das sieht hervorragend aus, danke. – ndbroadbent

+0

Gibt es eine Open-Source-Alternative? –

1

Ein Hosting-Unternehmen wird niemals Ihren Code berühren oder untersuchen, es sei denn, Sie tun Dinge, die dort Server verletzen (wie Endlosschleifen, Essen alle CPU entfernt), und auch in diesem Fall werden sie blockieren nur die Seite oder URL.

Ich kann mir vorstellen, wenn Sie Ihre Anwendung in ein Intranet eines Unternehmens bereitstellen, und sie haben auch ihre Entwickler, dass man Angst haben könnte, auf Wartung und Support-Gebühren verlieren, weil sie selbst übernehmen würde. Aber diese Dinge, die Sie mit Verträgen abdecken.

Die Leute, die direkten Zugang zu Ihrem Ruby-Quellcode haben, sollen Mitarbeiter oder Partner sein, wenn eine klare Geschäftsbeziehung besteht, und normalerweise ist diese Geschäftsbeziehung mehr wert. Wenn Sie Ihren Kollegen oder den Leuten, mit denen Sie arbeiten, nicht vertrauen, sollten Sie Ihre Position überdenken.

Ich glaube sogar, dass so weit wie möglich mit Kunden (hier ist die Quelle, können Sie es bearbeiten, wenn Sie wollen), im Allgemeinen macht sie vertrauen Sie noch mehr und machen sie eher zurückrufen.