Table of Contents
Reply content:
Home Backend Development PHP Tutorial How to prevent programmers from accessing core code in large companies?

How to prevent programmers from accessing core code in large companies?

Jul 06, 2016 pm 01:52 PM
c c# c++ java php

For a company like BAT, if I am a programmer who has just joined the job, and now the company wants me to make a special module, and after it is completed, it needs to be integrated and tested. This special module requires user login to use it, then the Passport module must be included. There must be some encryption algorithms, private keys and other information in the source code of this module. We young programmers cannot see the code inside. So how to test it specifically? How do they ensure the security of their core business code?

Reply content:

For a company like BAT, if I am a programmer who has just joined the job, and now the company wants me to make a special module, and after it is completed, it needs to be integrated and tested. This special module requires user login to use it, then the Passport module must be included. There must be some encryption algorithms, private keys and other information in the source code of this module. We young programmers cannot see the code inside. So how to test it specifically? How do they ensure the security of their core business code?

Large companies generally turn passport into a service. You can only see the interface, not the implementation~

Just give you a packaged dll and header file
The dll has removed the symbol table and you can’t see the source code
Where can you compile the dll with the header file (or the exported static file lib)? You can also see the source code

I don’t know why it was stepped down
Can’t programmers nowadays distinguish between compilation and external services such as RPC calls?
As far as I know in BAT, most of the core code of T/B is C, because the real-time performance is better, and the main force of A family is Java.

Using C as the core has several benefits and essential scenarios

1) Games, graphics and image rendering, imagine a game that is stuck for 50ms during play, and how painful it is to lose frames frequently. Thing
2) Real-time call, imagine that in the process of navigation, the vehicle speed is 100 kilometers, and the server side GCs, and the data is delayed by 100ms before sending, how painful it is.

If you know C, you will know what I mean.

Most of the kernel is written in C, and the intellectual property rights are well protected. Think about how you made an Android App without JNI and was reversed by an opponent in minutes.

The same goes for the encryption algorithm. Remote calls and services are only used in non-quasi-real-time situations. Those that are sensitive to data must be compiled with header files and libraries

Large companies are not afraid that programmers will come into contact with the core code. Some of the core code you think of may not be highly confidential within the company's confidentiality level. What they pay more attention to is serialized management regulations.

1. Slightly larger companies will have a complete set of standardized permission control management. There are corresponding regulations for your level, what code you can download, and what libraries you can connect to.

2. You will be asked to sign confidentiality agreements and the like, right? Fire prevention, theft prevention and commercial espionage, the agreement is only part of it, the real secrets are in the hands of the Enterprise Development Department (similar department).
3. Regarding the module you mentioned in development, if it is of C series, it is the same as what the innocent classmate above said. I will give you a dll or lib and you can compile it and play with it yourself. In the case of Java, these modules will be encapsulated into services, or built into Saas or Paas. You can adjust them yourself. Generally, medium and large companies will use this type of development platform.

It is recommended to take a look at RPC. Large companies will definitely strip off each module and use RPC to call between modules. When calling, you do not need to care about the internal logic of other modules, and you cannot see the code of other modules.

In our factory, general components are provided by the department responsible for components. What is provided to you is a compiled library, and you cannot access the code of the library.

If you find that there is a bug in the library or it is suspected that there is a bug and you cannot track it down, start a group and argue with the relevant departments.


Do big companies such as Baidu, Alibaba, and Tencent use Git? How do they manage source code?

https://www.zhihu.com/question/22438484

How do you think about restricting employees from accessing the Internet to prevent code leaks? How should company IT be managed and structured to prevent code leaks?
https://www .zhihu.com/question/19983270

Very useful for reference

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Golang and C  : Concurrency vs. Raw Speed Golang and C : Concurrency vs. Raw Speed Apr 21, 2025 am 12:16 AM

Golang is better than C in concurrency, while C is better than Golang in raw speed. 1) Golang achieves efficient concurrency through goroutine and channel, which is suitable for handling a large number of concurrent tasks. 2)C Through compiler optimization and standard library, it provides high performance close to hardware, suitable for applications that require extreme optimization.

The Compatibility of IIS and PHP: A Deep Dive The Compatibility of IIS and PHP: A Deep Dive Apr 22, 2025 am 12:01 AM

IIS and PHP are compatible and are implemented through FastCGI. 1.IIS forwards the .php file request to the FastCGI module through the configuration file. 2. The FastCGI module starts the PHP process to process requests to improve performance and stability. 3. In actual applications, you need to pay attention to configuration details, error debugging and performance optimization.

Golang vs. C  : Performance and Speed Comparison Golang vs. C : Performance and Speed Comparison Apr 21, 2025 am 12:13 AM

Golang is suitable for rapid development and concurrent scenarios, and C is suitable for scenarios where extreme performance and low-level control are required. 1) Golang improves performance through garbage collection and concurrency mechanisms, and is suitable for high-concurrency Web service development. 2) C achieves the ultimate performance through manual memory management and compiler optimization, and is suitable for embedded system development.

Python vs. C  : Which Language to Choose for Your Project? Python vs. C : Which Language to Choose for Your Project? Apr 21, 2025 am 12:17 AM

Choosing Python or C depends on project requirements: 1) If you need rapid development, data processing and prototype design, choose Python; 2) If you need high performance, low latency and close hardware control, choose C.

C  : Is It Dying or Simply Evolving? C : Is It Dying or Simply Evolving? Apr 24, 2025 am 12:13 AM

C isnotdying;it'sevolving.1)C remainsrelevantduetoitsversatilityandefficiencyinperformance-criticalapplications.2)Thelanguageiscontinuouslyupdated,withC 20introducingfeatureslikemodulesandcoroutinestoimproveusabilityandperformance.3)Despitechallen

Python vs. C  : Understanding the Key Differences Python vs. C : Understanding the Key Differences Apr 21, 2025 am 12:18 AM

Python and C each have their own advantages, and the choice should be based on project requirements. 1) Python is suitable for rapid development and data processing due to its concise syntax and dynamic typing. 2)C is suitable for high performance and system programming due to its static typing and manual memory management.

C# as a Versatile .NET Language: Applications and Examples C# as a Versatile .NET Language: Applications and Examples Apr 26, 2025 am 12:26 AM

C# is widely used in enterprise-level applications, game development, mobile applications and web development. 1) In enterprise-level applications, C# is often used for ASP.NETCore to develop WebAPI. 2) In game development, C# is combined with the Unity engine to realize role control and other functions. 3) C# supports polymorphism and asynchronous programming to improve code flexibility and application performance.

Deploying C# .NET Applications to Azure/AWS: A Step-by-Step Guide Deploying C# .NET Applications to Azure/AWS: A Step-by-Step Guide Apr 23, 2025 am 12:06 AM

How to deploy a C# .NET app to Azure or AWS? The answer is to use AzureAppService and AWSElasticBeanstalk. 1. On Azure, automate deployment using AzureAppService and AzurePipelines. 2. On AWS, use Amazon ElasticBeanstalk and AWSLambda to implement deployment and serverless compute.

See all articles