タグ付けされた質問 「content-management」

13
アプリケーションに自己破壊メソッドを含める必要がありますか?
私は最近、クライアントが法案から救済されたという否定的な経験をしましたが、私の仲介者はすでにソフトウェアとデザインをクライアントサーバーにアップロードしました。クライアントは既知の犯罪者であることが判明し、もちろんサーバーのすべての可能なパスワードを変更しました。 ただし、CMSの管理パネルには引き続きアクセスできます。悲しいことに、私のソフトウェアは非常に安全であることが判明しました。SQLインジェクション、イメージアップロードなどを試みました。しかし、私は自分のソフトウェアをハッキングすることはできません。問題..私は今、バックエンドの自己破壊メソッドがあるべきだと考えています。したがって、同様のケースが発生した場合、ソフトウェアを強制終了するオプションがあります。 私自身のアイデアは、コアファイルの一部の機能を非表示にすることです。base64でエンコードするので、明らかではありません。このようなもの: eval(base64_decode('ZWNobyAnSGVsbG8gd29ybGQhJzs=')); // echo 'Hello world!'; そして基本的に小さなソフトウェアを作成します。これはすべてのソフトウェアのファイルを取得し、chmodでそれらを確認してから削除します。 私の新しいバージョンのCMSにはすべて、簡単にハッキングするために使用できるファイルマネージャーがあります。しかし、管理パネルへのアクセスが制限されている場合はどうでしょう。 非常に明確にするために、これは開発段階のソフトウェア、個人サーバーまたはクライアントサーバーのみを対象としています(最後の部分は倫理的に疑問です)。したがって、クライアントがソフトウェアを盗む場合、これはコマーシャルに含まれません。 -ソフトウェア。 さらに明確にするために、私たちはこれらのまれなフリーランスの仕事について話しています。かなり論理的で、契約作業にはそのような方法は必要ないと思います。そのため、プロジェクトの準備が整ったときに開発モードでのみ、それらのジャンプリスククライアントについて話します。これは明らかに、ソフトウェア内にある非常に非倫理的なバックドアになります。 倫理的にこれは良いアイデアですか?(プロジェクトが100%であり、すべての費用が支払われた場合、明らかに削除することを念頭に置いてください) クライアントに関する同様の問題のために、あなたは自分のソフトウェアをハッキングする必要がありましたか? このアイデア、コード、および方法に関する推奨事項はありますか? selfdestruct-scriptsの潜在的な欠点または影響は何ですか? これに関する私の結論 少し悲しいのは、すべての回答が契約したケースを対象としたことです。それは本当に私のせいでした、私の質問でそれをより明確にしなかったのは..ただ、あなたが契約によって保護されているとき、キルスイッチに意味がないと思っただけです。 ただし、契約作業を行っている場合は、これを契約に明記する必要があります。これにより、クライアントの所有サーバー内でも合法になります。しかし、自分の個人サーバー内にキルスイッチを持っていることは、本当に誰のビジネスでもありません(これは私が本当に知りたいことです) 私は、CMSのキルスイッチスクリプトを作成することにしました。主に、それは興味深い挑戦のようだからです。しかし、クライアントが友人の友人の友人である非契約作品にもこれを使用できます。クライアントサーバーでこれを使用することはおそらくないでしょうが、クライアントまたは一部の仲買人は私のサーバーにアクセスします。 私はここでたくさんのトピックを読んでいますが、警告を送信してからページを削除することを推奨しています。まあ、私はそれがどこか他の場所にコピーするだけで(おそらくそれをブランド変更して販売する)、取り壊されたと言ったときに、問題を見つけました。また、「サイトをオフにする」のではなく、削除します。ただし、クライアントサーバーにアクセスして削除することは依然として違法です。または、少なくともFTPからではなく、バックエンドからアクセスします。このため、私は答えたあなたのすべてに感謝します。

3
編集可能なサイトコンテンツを保存しますか?
一部のコンテンツ(テキスト、料金プランなどのビジネスロジック)を社内で簡単に編集できるようにしたいDjangoベースのWebサイトがあるため、コードベースの外部に保存することにしました。通常、理由は次のいずれかです。 これは、技術者でない人が編集したいものです。1つの例は、Webサイトのコピーライティングです。プログラマーは、デフォルトで "Lorem ipsum ..."になるテキストを含むテンプレートを準備し、実際のコンテンツは後でデータベースに挿入されます。 これは、新しいコードをデプロイする必要なく(現在は週に2回)迅速に変更できるようにしたいものです。例としては、さまざまな価格階層の顧客が現在利用できる機能があります。これらをハードコーディングする代わりに、データベースから読み取ります。 説明されているソリューションは柔軟ですが、私がそれを気に入らない理由がいくつかあります。 コンテンツはデータベースから読み取る必要があるため、パフォーマンスのオーバーヘッドがあります。 キャッシングスキームを使用してこれを軽減しますが、これによりシステムが多少複雑になります。 コードをローカルで実行する開発者は、本番環境での実行方法と比較して、システムを大幅に異なる状態で認識します。自動テストでは、システムを別の状態で実行します。ステージングサーバーでの新機能のテストなどの状況も複雑になります。ステージングサーバーにデータベースの最新のコピーがない場合、それは本番環境とは予期せず異なる場合があります。 新しい状態をリポジトリにコミットすることで(たとえば、データの移行を追加することで)軽減できますが、それは間違ったアプローチのようです。それは...ですか? これらの問題を解決するための最良のアイデアはありますか?私が見落としているコンテンツを処理するためのより良いアプローチはありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.