Thank you Ahmed for such a detailed information, yes we have a licensing
server for managing the encryption keys and licence keys.

I tried to find some resources regarding singing the code but couldn't find
any available resources. Do you have any references that could be used.


On Tue, 14 Nov, 2023, 20:49 Ahmed Iftikhar, <[email protected]> wrote:

> Obfuscation can make the code less readable, but it won't provide strong
> security. There are Python tools like *pyobfuscate *that can be used for
> this purpose. However, keep in mind that this is not encryption, and
> determined attackers can still reverse engineer obfuscated code.
>  While you can encrypt your code, it needs to be decrypted at runtime,
> which means the decryption key needs to be available on the client's
> server. This introduces a potential vulnerability. An attacker with access
> to the server might still be able to retrieve the decryption key.
>  You can compile Python source code into bytecode (*.pyc *files). This
> makes it more difficult to read the code but doesn't provide strong
> security. Python bytecode can still be decompiled, and tools like
> uncompyle6 can be used to reverse the process.
>  Instead of sending the decryption key directly to the client, consider
> having the client make requests to a licensing server. The server could
> respond with a token or key that is used for decryption on the client's
> server. This way, the decryption key is not directly exposed.
>  Implement integrity checks within your Django application. Periodically
> verify that the code on the client's server matches the expected checksum.
> If modifications are detected, the application could refuse to run.
> Sign your code and verify the signature at runtime. This helps ensure that
> the code has not been modified. However, the keys used for signing need to
> be securely stored.
> Consider packaging your Django application within a container (*e.g.,
> Docker*). This can provide some isolation and control over the runtime
> environment.
>
> On Monday, November 13, 2023 at 6:54:46 PM UTC+5 Om Khade wrote:
>
>> I want to sell my Django product on a subscription basis to the client
>> and set up the server on their server while ensuring that the code is not
>> tampered with. For this I need a way to save the Django project in an
>> encrypted format and Decrypt the files in RAM using a password that the
>> client can get by sending a request to my licensing server.
>>
>> Is there a way to do this? our a better mechanism to deploy my Python
>> project on client-server without them tampering the code.
>>
> --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/django-users/af6291d7-620f-4132-93a1-f4e99f7d2a6en%40googlegroups.com
> <https://groups.google.com/d/msgid/django-users/af6291d7-620f-4132-93a1-f4e99f7d2a6en%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CAMaQUUpO5mDPnBNXjNk70mRNJP%2Bn751DuomR-eOaLBAZYEwmdw%40mail.gmail.com.

Reply via email to