私はちょうどアイデアをいじっていましたが、セキュリティの問題を悩ませずにバックエンドでこれを解決する方法を思いつきませんでした。
Web サービスを介して単純なアルゴリズムを作成し、小さなリストでこれらをテストする機会をユーザーに与えたいとします。たとえばrange(0, 5)
、別の Web サービス、テンプレート、または電子メールを介して結果を報告します。実際には問題ではなく、評価です。私を悩まします。
パイソンの使用:
class Algorithm(whatever):
function = whatever.CharField(max_length=75)
ユーザーは次のように入力します。
'f(x)=x+(x/5)**0.75'
もちろんeval
、ビルトインや "x" 以外の文字列などを削除して を使用することもできますが、これは残念な方法であることに変わりはありません。
私が思いついた唯一のことは、評価機能を JavaScript フロントエンドに移動することです。