ਕੰਪਿਊਟਰ 'ਸਾਫਟਵੇਅਰ

ਫੰਕਸ਼ਨ ਵਿਚ PHP ਗਲੋਬਲ ਵੇਰੀਏਬਲ. PHP ਵਿੱਚ ਇੱਕ ਗਲੋਬਲ ਵੇਰੀਏਬਲ ਬਣਾਓ

ਇੱਕ ਪੂਰੀ ਸਾਈਟ ਹੈ, ਜੋ ਕਿ ਵਿਆਪਕ ਕਾਰਜਕੁਸ਼ਲਤਾ ਹੈ ਤੁਹਾਨੂੰ ਇੱਕ ਬਹੁਤ ਪਤਾ ਕਰਨ ਦੀ ਲੋੜ ਬਣਾਉਣ ਲਈ. ਪਰ ਕੀ ਉਸ ਨੂੰ ਸੱਚ-ਮੁੱਚ ਵਿਲੱਖਣ ਕਰ ਸਕਦਾ ਹੈ - ਇਸ ਨੂੰ PHP ਹੈ. ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾ ਵਿੱਚ ਗਲੋਬਲ ਵੇਰੀਏਬਲ ਬਹੁਤ ਹੀ ਅਕਸਰ ਵਰਤਿਆ ਨਹੀ ਹੈ, ਪਰ ਕਈ ਵਾਰ ਨੂੰ ਪਤਾ ਕਰਨ ਲਈ ਇਸ ਨੂੰ ਕੰਮ ਕਰਦਾ ਹੈ, ਕਈ ਵਾਰ ਇਸ ਨੂੰ ਜ਼ਰੂਰੀ ਹੈ. ਜੋ ਕਿ ਇਸ ਨੂੰ ਕੀ ਹੈ ਅਤੇ ਇਸ ਦਾ ਕੰਮ ਕਰਦਾ ਹੈ, ਇਸ ਲੇਖ ਵਿਚ ਕੀ ਕਰਨ ਜਾ ਰਹੇ ਹਨ, ਦਾ ਅਧਿਐਨ ਕਰਦਾ ਹੈ.

ਸਕੋਪ

ਇਸ ਪ੍ਰਸੰਗ ਹੈ, ਜਿਸ ਵਿੱਚ ਵੇਰੀਏਬਲ ਅਤੇ ਪੱਕਾ ਇਰਾਦਾ ਕੀਤਾ ਹੈ ਤੇ ਕਾਲ ਕਰੋ. ਸਭ ਕੇਸ ਵਿੱਚ, ਉਹ ਸਿਰਫ ਇੱਕ ਹੀ ਗੁੰਜਾਇਸ਼ ਹੈ. (ਦੀ ਲੋੜ ਹੈ) PHP ਗਲੋਬਲ ਵੇਰੀਏਬਲ ਹੋਰ ਫਾਇਲ ਲੋਡ ਕੀਤਾ ਹੈ, ਫਿਰ ਇਸ ਨੂੰ ਸਮੇਤ (ਸ਼ਾਮਲ ਹਨ) ਅਤੇ ਦੀ ਲੋੜ ਹੋ ਸਕਦੀ ਹੈ.

ਮੂਲ ਰੂਪ ਵਿੱਚ, ਉਹ ਸਥਾਨਕ ਫੰਕਸ਼ਨ ਸਕੋਪ ਤੱਕ ਹੀ ਸੀਮਿਤ ਰਹੇ ਹਨ. ਅਤੇ ਇਸ ਚੌਕੇ ਵਿਚ ਵੇਰੀਏਬਲ ਦੇਖਿਆ ਫਾਇਲ ਬਣਾਉਣ ਲਈ ਹੈ, ਜੋ ਕਿ ਹੋਰ ਅਤੇ ਹੋਰ ਵਰਤ ਸਕਦਾ ਹੈ? ਇਸ ਨੂੰ ਅੰਤ ਵਿੱਚ ਕਰਨ ਲਈ, ਅਤੇ PHP ਗਲੋਬਲ ਵੇਰੀਏਬਲ ਵਿੱਚ ਦਿੱਤਾ ਗਿਆ ਹੈ.

ਕੀਵਰਡ "ਗਲੋਬਲ"

ਅਤੇ ਇੱਥੇ PHP ਦਾ ਇੱਕ ਗਲੋਬਲ ਵੇਰੀਏਬਲ ਦਾ ਐਲਾਨ ਕਰਨਾ ਹੈ? ਇਸ ਟੀਚੇ ਦੀ ਪ੍ਰਾਪਤੀ ਵਿਚ ਸਾਨੂੰ "ਗਲੋਬਲ" ਮਦਦ ਕਰੇਗਾ ਸ਼ਬਦ ਦਾ. ਇਹ ਵੇਰੀਏਬਲ ਹੈ, ਜੋ ਕਿ ਤੁਹਾਨੂੰ ਇੱਕ ਗਲੋਬਲ (narimer, ਗਲੋਬਲ «ਅਸਥਿਰ") ਕਰਨ ਲਈ ਚਾਹੁੰਦੇ ਦੇ ਸਾਹਮਣੇ ਰੱਖਣ ਲਈ ਜ਼ਰੂਰੀ ਹੈ.

ਅਜਿਹੇ ਇੱਕ ਸੰਕੇਤ ਦੇ ਲਾਗੂ ਕਰਨ ਦੇ ਬਾਅਦ, ਡਾਟਾ ਕਿਸੇ ਵੀ ਫਾਇਲ ਨਾਲ ਕੰਮ ਕਰਨ ਦੇ ਯੋਗ ਹੋ ਜਾਵੇਗਾ. ਕਿਤੇ ਇਸ ਵੇਰੀਏਬਲ ਨੂੰ ਹਵਾਲੇ ਹਨ, ਜੇ, ਪ੍ਰੋਗਰਾਮ ਨੂੰ ਹਮੇਸ਼ਾ ਗਲੋਬਲ ਵਰਜਨ ਤੇ ਧਿਆਨ ਦੇਣਾ ਹੋਵੇਗਾ.

ਇਸੇ ਅਜਿਹੇ ਇੱਕ ਅਜੀਬ ਭਾਸ਼ਾ? ਅਸਲ 'ਉਸੇ ਵੇਲੇ' ਤੇ ਉਥੇ ਸਥਾਨਕ ਵਰਜਨ ਹੋ ਸਕਦਾ ਹੈ, ਜੋ ਕਿ. ਪਰ ਉਹ ਜਿਹੜੇ ਫਾਇਲ ਜਿੱਥੇ ਦਾ ਐਲਾਨ ਕਰਨ ਲਈ ਸਿਰਫ਼ ਉਪਲੱਬਧ ਹੋ ਜਾਵੇਗਾ. ਅਤੇ ਬਾਕੀ ਦੇ ਸਾਰੇ ਦੇ ਲਈ ਗਲੋਬਲ ਵੇਰੀਏਬਲ PHP ਕਲਾਸ ਕੰਮ ਕਰੇਗਾ. ਇਸ ਲਈ ਤੁਹਾਨੂੰ ਧਿਆਨ ਰੱਖਣਾ ਚਾਹੀਦਾ ਹੈ. ਗਲੋਬਲ ਨੂੰ ਇੱਕ ਅਤੇ ਕੋਈ ਸ਼ੱਕ ਸੀ ਕਿ, ਇੱਥੇ ਕੀ ਉਹ ਵਰਗੇ ਵੇਖੋ ਦੀ ਇੱਕ ਉਦਾਹਰਨ ਹੈ.

ਇਸ ਕਰਕੇ ਜੇ ਇੱਕ ਫਾਇਲ ਵੇਰੀਏਬਲ ਦੇ ਇੱਕ ਨੰਬਰ ਤੱਕ ਪਹੁੰਚ ਹੈ ਜਾਵੇਗਾ, ਇਸ ਨੂੰ ਵਿਰੋਧ ਲਈ ਕਾਰਨ ਬਣ ਜਾਵੇਗਾ. ਸਥਾਨਕ ਜ ਗਲੋਬਲ ਵੇਰੀਏਬਲ ਜ ਪੜ੍ਹਨ ਲਈ ਹੈ ਨੂੰ ਪੂਰੀ ਫੇਲ ਹੁੰਦਾ ਹੈ - ਪਰ ਸਾਨੂੰ ਇਹ ਯਕੀਨੀ ਕਹਿ ਨਹੀ ਕਰ ਸਕਦਾ ਹੈ. ਇਸ ਲਈ, ਜੇ ਇਸ ਨੂੰ ਇੱਕ ਫੰਕਸ਼ਨ ਵਿੱਚ ਰਜਿਸਟਰ ਕਰਨ ਲਈ ਹੈ, ਇਸ ਨੂੰ ਕੋਈ ਵੀ ਸਮੱਸਿਆ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ. ਪਰ ਇਸ ਦੇ ਬਾਰਡਰ ਲਈ ਇੱਕ ਵੇਰੀਏਬਲ ਵਰਤਣ ਦੀ ਸਮੱਸਿਆ ਹੈ. ਇਸ ਲਈ, ਕੋਡ ਨੂੰ ਧਿਆਨ ਨਾਲ ਨਿਗਰਾਨੀ ਕਰਨ ਅਤੇ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਜ਼ਰੂਰੀ ਦੇ ਖਰੜਾ ਦੀ ਬਣਤਰ ਹੈ, ਜੋ ਕਿ ਕਿਤੇ ਹੁੰਦਾ ਹੈ, ਇਹ ਵੀ ਕਿਹਾ ਸੰਘਰਸ਼ ਨੂੰ ਇਕ ਪੂਰਿ ਸੀ.

ਰਿਕਾਰਡਿੰਗ ਦੇ ਇਕ ਹੋਰ ਰੂਪ

ਇਹ ਹੋ ਸਕਦਾ ਹੈ PHP ਦਾ ਵਿਚ ਇਕ ਹੋਰ ਤਰੀਕੇ ਨਾਲ ਇੱਕ ਗਲੋਬਲ ਵੇਰੀਏਬਲ ਬਣਾਉਣ ਲਈ? ਜੀ, ਵੀ ਇੱਕ. ਪਹਿਲੀ, ਦੀ $ ਗਲੋਬਲ ਤੇ ਵਿਚਾਰ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ. ਇਹ ਇੱਕ ਜੁੜਨਸ਼ੀਲ ਐਰੇ ਹੈ. ਕੁੰਜੀ ਇਸ ਨੂੰ ਕਰਨ ਲਈ - ਨਾਮ ਹੈ. ਸਮੱਗਰੀ ਦਾ ਮੁੱਲ ਇੱਕ ਗਲੋਬਲ ਵੇਰੀਏਬਲ ਦੇ ਤੌਰ ਤੇ ਕੰਮ ਦੇ ਤੌਰ ਤੇ. ਇਹ ਨੋਟ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ, ਜੋ ਕਿ ਐਲਾਨ ਦੇ ਬਾਅਦ ਐਰੇ ਨੂੰ ਕਿਸੇ ਵੀ ਗੁੰਜਾਇਸ਼ ਵਿੱਚ ਮੌਜੂਦ ਹੈ. ਇਹ ਇਸ ਨੂੰ superglobal ਵਿਸ਼ਵਾਸ ਕਰਨ ਦਾ ਕਾਰਨ ਦਿੰਦਾ ਹੈ. ਇਹ ਇਸ ਲਈ ਹੈ: $ ਗਲੋਬਲ [ 'ਵੇਰੀਏਬਲ].

ਪਰਿਭਾਸ਼ਿਤ / superglobals

ਹਰ ਪਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾ ਵਿੱਚ ਕੁਝ ਨਾਮ ਹੈ, ਜੋ ਕਿ ਇਸ ਦੇ ਫੰਕਸ਼ਨ ਦੇ ਕੁਝ ਕਰਨ ਲਈ ਚਾਰਟਰਡ ਰਹੇ ਹਨ. ਇਸ ਲਈ, ਉਸੇ ਹੀ ਨਾਮ ਦਾ ਕੰਮ ਨਹੀ ਕਰੇਗਾ ਦੇ PHP ਦਾ ਗਲੋਬਲ ਵੇਰੀਏਬਲ ਵਿੱਚ ਬਣਾਉਣ ਲਈ.

ਇਹ ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾ ਨੂੰ ਇਸ ਦੇ ਆਪਣੇ ਗੁਣ ਹਨ. ਇਸ ਲਈ, ਇਹ ਜ਼ਰੂਰੀ ਹੈ ਕਿ ਇੱਥੇ ਪਰਿਭਾਸ਼ਿਤ ਵੇਰੀਬਲ, "ਸੁਪਰ" ਇੰਸਟਾਲ ਨਹੀ ਕਰ ਰਹੇ ਹਨ, ਜੋ ਕਿ ਹੈ, ਉਹ ਸਾਰੇ ਸਥਾਨ ਵਿੱਚ ਉਪਲਬਧ ਨਹੀ ਹਨ. ਮੈਨੂੰ ਇਸ ਨੂੰ ਸਥਿਰ ਕਰ ਸਕਦੇ ਹੋ? ਕਰਨ ਲਈ ਪਰਿਭਾਸ਼ਿਤ ਵੇਰੀਏਬਲ ਕੁਝ ਸਥਾਨਕ ਖੇਤਰ 'ਤੇ ਉਪਲਬਧ ਸੀ, ਇਸ ਨੂੰ ਹੇਠ :. ਗਲੋਬਲ «ਅਸਥਿਰ ਦਾ ਐਲਾਨ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ" ਇਹ ਦੱਸਿਆ ਸੀ ਦੇ ਤੌਰ ਤੇ ਹੀ ਹੋਣ ਦੀ, ਸਹੀ ਹੈ? ਇਹ ਸੱਚ ਹੈ, ਪਰ ਕਾਫ਼ੀ ਨਹੀ ਹੈ. ਸਾਨੂੰ ਹੀ ਇੱਕ ਉਦਾਹਰਨ "ਲੜ" 'ਤੇ ਝਾਤੀ ਮਾਰੀਏ:

  • ਗਲੋਬਲ $ HTTP_POST_VARS;
  • echo $ HTTP_POST_VARS [ 'ਨਾਮ'].

ਤੁਹਾਨੂੰ ਵਿਚਕਾਰ ਫਰਕ ਮਹਿਸੂਸ ਕਰਦੇ ਹੋ? ਯਾਦ ਰੱਖੋ ਕਿ PHP ਦਾ ਗਲੋਬਲ ਵੇਰੀਏਬਲ ਵਿੱਚ ਇਹ ਜ਼ਰੂਰੀ ਫੰਕਸ਼ਨ ਦੇ ਅੰਦਰ ਵਰਤਿਆ ਜਾ ਕਰਨ ਲਈ ਹੈ, ਨਾ ਹੈ. ਇਸ ਨੂੰ ਵੀ ਹੈ, ਜੋ ਕਿ ਇਸ ਵਿੱਚ ਸ਼ਾਮਿਲ ਕੀਤਾ ਗਿਆ ਹੈ, ਇੱਕ ਫਾਇਲ ਵਿੱਚ ਰੱਖਿਆ ਜਾ ਸਕਦਾ ਹੈ.

ਲਿੰਕ ਅਤੇ ਸੁਰੱਖਿਆ

ਤੁਹਾਨੂੰ ਦੇਖ ਸਕਦੇ ਹੋ ਕਿ, PHP ਵਿੱਚ ਬਣਾਉਣ ਦਾ ਇੱਕ ਗਲੋਬਲ ਵੇਰੀਏਬਲ ਇੱਕ ਸਮੱਸਿਆ ਨਹੀ ਹੈ. ਪਰ ਕਿਸੇ ਖਾਸ ਰਿਸ਼ਤੇਦਾਰ ਲਿੰਕ ਹੈ? ਜੀ, ਜਦ ਗਲੋਬਲ ਵਰਤ ਉੱਥੇ ਅਚਾਨਕ ਵਿਵਹਾਰ ਨੂੰ ਹੋ ਸਕਦਾ ਹੈ. ਪਰ, ਜੋ ਕਿ ਅੱਗੇ, ਇੱਕ ਛੋਟਾ ਜਿਹਾ backstory.

ਵਰਜਨ 4.2.0 ਵਿੱਚ ਮੂਲ register_globals ਕੇ ਨਿਰਦੇਸ਼ 'ਤੇ-ਰਾਜ ਬੰਦ ਕਰਨ ਲਈ ਤਬਦੀਲ. ਸਭ ਯੂਜ਼ਰ ਲਈ, ਇਹ ਬਹੁਤ ਹੀ ਮਹੱਤਵਪੂਰਨ ਹੈ, ਪਰ ਵਿਅਰਥ ਵਿੱਚ ਨਹੀ ਹੈ. ਸਭ ਦੇ ਬਾਅਦ, ਇਸ ਨੂੰ ਸਿੱਧੇ ਤੌਰ 'ਤੇ ਵਿਕਸਤ ਉਤਪਾਦ ਦੀ ਸੁਰੱਖਿਆ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰਦਾ ਹੈ. ਤੁਹਾਨੂੰ ਕਰਨ ਦੀ ਲੋੜ ਹੈ, ਜੇ ਵੇਰੀਏਬਲ ਗਲੋਬਲ, ਇਹ ਪੈਰਾਮੀਟਰ 'ਤੇ php-ਨਿਰਦੇਸ਼ ਨੂੰ ਸਿੱਧੇ ਪ੍ਰਭਾਵਿਤ ਨਹੀ ਹੈ. ਪਰ, ਗਲਤ ਵਰਤਣ ਹੀ ਪੂਰਵ ਨਿਰਧਾਰਿਤ ਸੁਰੱਖਿਆ ਬਣਾ ਸਕਦੇ ਹੋ.

ਇਸ ਲਈ ਜੇਕਰ register_globals, 'ਤੇ ਚਾਲੂ ਹੈ ਅੱਗੇ ਲਿਖਿਆ ਕੋਡ ਨੂੰ ਚੱਲਣ ਦੀ, ਵੱਖ-ਵੱਖ ਵੇਰੀਏਬਲ ਹੈ, ਜੋ ਕਿ ਲੋੜ ਹੈ ਸ਼ੁਰੂ ਮਿਸਾਲ ਕਿ HTML-ਫਾਰਮ ਭੇਜਣ ਲਈ. ਇਸ ਲਈ, ਇਸ ਨੂੰ ਇਸ ਨੂੰ ਬੰਦ ਕਰਨ ਦਾ ਫੈਸਲਾ ਕੀਤਾ ਗਿਆ ਸੀ.

ਇਸੇ php ਗਲੋਬਲ ਵੇਰੀਏਬਲ ਵਿੱਚ ਇਸ ਡਾਇਰੈਕਟਿਵ ਦੀ ਹਾਲਤ ਬਹੁਤ ਕੁਝ ਦੇਣਾ ਹੈ ਹੈ? ਤੱਥ ਇਹ ਹੈ ਕਿ ਡਿਵੈਲਪਰ ਦੀ ਹਾਲਤ ਨੂੰ ਹਮੇਸ਼ਾ ਨਾ ਕਰਦੇ, ਜਦ ਯਕੀਨ ਨਾਲ ਆਪਣੇ ਆਪ ਨੂੰ ਇਸ ਨੂੰ, ਜਿੱਥੇ ਤੱਕ ਆਏ ਸਵਾਲ ਦਾ ਜਵਾਬ ਸਕਦਾ ਹੈ. ਇਕ ਪਾਸੇ 'ਤੇ ਹੈ, ਇਸ ਨੂੰ ਕੋਡ ਲਿਖਣ ਲਈ ਸੌਖਾ ਹੈ. ਪਰ ਦੂਜੇ 'ਤੇ - ਇਸ ਨੂੰ ਇੱਕ ਸੁਰੱਖਿਆ ਨੂੰ ਖਤਰਾ ਹੈ. ਇਸ ਲਈ, ਗਲਤੀ, ਦੇ ਨਾਲ ਨਾਲ ਡਾਟਾ ਮਿਕਸਿੰਗ ਬਚਣ ਲਈ ਅਤੇ ਡਾਇਰੈਕਟਿਵ ਅਸਮਰੱਥ ਕੀਤਾ ਗਿਆ ਹੈ.

ਹੁਣ ਨਾ / ਸੁਰੱਖਿਅਤ ਕੋਡ, ਦੇ ਨਾਲ ਨਾਲ ਨੂੰ ਜਿੱਥੇ ਕੇਸ ਗਲੋਬਲ PHP ਵੇਰੀਏਬਲ ਦੇ ਐਲਾਨ ਡਾਟੇ ਨਾਲ ਛੇੜਛਾੜ 'ਤੇ ਦੀ ਕੋਸ਼ਿਸ਼ ਦੁਆਰਾ ਤਿਆਰ ਕੀਤਾ ਹੈ ਨੂੰ ਖੋਜਣ ਲਈ ਵੇਖੀਏ. ਇਹ ਕ੍ਰਮ ਨੂੰ ਨਾ ਸਿਰਫ ਸੁੰਦਰ ਬਣਾਉਣ ਲਈ ਜ਼ਰੂਰੀ ਹੈ, ਪਰ ਇਹ ਵੀ ਹੌਲੀ, ਜੋ ਕਿ ਸਾਈਟ ਪਹਿਲੀ ਉਪਲੱਬਧ ਵਿਅਕਤੀ ਨੂੰ ਪਤਾ ਨਾ ਕਰਦੇ, ਕੰਮ ਕਰ ਰਹੇ.

ਖਤਰਨਾਕ ਕੋਡ

ਦੇ ਸੈੱਟ ਕੀਤਾ ਹੈ, ਜੋ ਕਿ ਵੇਰੀਏਬਲ ਉਹ ਜੋ ਅਧਿਕਾਰ ਦਿੱਤਾ ਗਿਆ ਹੈ, ਇਸ ਲਈ ਸੱਚ ਹੈ ਕਰੀਏ:

ਜੇ (authenticate_user ()) {
$ ਅਧਿਕ੍ਰਿਤੀ ਸੱਚ ਹੈ =;
}

ਜੇ ($ ਅਧਿਕ੍ਰਿਤੀ) {
"/highly/sensitive/data.php" ਸ਼ਾਮਲ ਹਨ;
}

ਇਸ ਸਥਿਤੀ ਵਿੱਚ, ਵੇਰੀਏਬਲ ਆਟੋਮੈਟਿਕ ਸੈੱਟ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ. ਜੋ ਕਿ ਨੂੰ ਧਿਆਨ ਡਾਟਾ ਨੂੰ ਸਿਰਫ਼ ਤਬਦੀਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਅਤੇ ਆਪਣੇ ਮੂਲ ਦੇ ਸਰੋਤ ਸੈੱਟ ਕੀਤਾ, ਨਾ ਹੈ, ਫਿਰ ਕਿਸੇ ਵੀ ਵਿਅਕਤੀ ਨੂੰ ਅਜਿਹੇ ਇੱਕ ਟੈਸਟ ਪਾਸ ਹੈ ਅਤੇ ਕਿਸੇ ਹੋਰ ਵਿਅਕਤੀ ਨੂੰ ਹੋਣ ਦਾ ਵਿਖਾਵਾ ਕਰ ਸਕਦਾ ਹੈ. ਲੋੜੀਦੀ ਜੇ, ਹਮਲਾਵਰ (ਜ ਲਈ ਸਿਰਫ ਉਤਸੁਕ ਹੈ, ਪਰ ਭੋਲੇ ਵਿਅਕਤੀ ਨੂੰ) ਸੁਣਨ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਸਾਡੇ ਤਰਕ.

ਸਾਨੂੰ ਡਾਇਰੈਕਟਿਵ ਦੇ ਮੁੱਲ ਨੂੰ ਤਬਦੀਲ ਕਰਦੇ ਹੋ, ਇਹ ਕੋਡ ਠੀਕ ਕੰਮ ਕਰੇਗਾ, ਦੇ ਰੂਪ ਵਿੱਚ ਸਾਨੂੰ ਲੋੜ ਹੈ. ਪਰ ਵੇਰੀਏਬਲ ਦੀ ਸ਼ੁਰੂਆਤ ਨਾਲ ਨਾ ਸਿਰਫ਼ ਪ੍ਰੋਗਰਾਮਿੰਗ ਵਿਚ ਇੱਕ ਚੰਗਾ ਟੋਨ ਹੈ, ਪਰ ਸਾਨੂੰ ਇਹ ਵੀ ਸਕਰਿਪਟ ਦੇ ਸਥਿਰਤਾ ਦੀ ਇੱਕ ਨੂੰ ਕੁਝ ਗਾਰੰਟੀ ਦਿੰਦਾ ਹੈ.

ਕੋਡ ਦਾ ਭਰੋਸੇਯੋਗ ਵਰਜਨ

ਤੁਹਾਨੂੰ ਬੰਦ ਕਰ ਸਕਦੇ ਹੋ ਜ ਨਿਰਦੇਸ਼ ਕੰਮ ਕਰਦੇ ਹਨ, ਇਸ ਟੀਚੇ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਇੱਕ ਹੋਰ ਗੁੰਝਲਦਾਰ ਕੋਡ ਦਾ ਨੁਸਖ਼ਾ. ਉਦਾਹਰਨ ਲਈ, ਇਸ ਨੂੰ ਪਸੰਦ:

ਜੇ (isset ($ _ ਸ਼ੈਸ਼ਨ ਨੂੰ [ 'ਉਪਭੋਗੀ'])) {

ਈਕੋ "ਹੈਲੋ {$ _ ਸ਼ੈਸ਼ਨ ਨੂੰ [ 'ਯੂਜ਼ਰ]} ";

} ਉੱਠਦੇ {

ਈਕੋ "ਹੈਲੋ ਮਹਿਮਾਨ
";
echo "ਸੁਆਗਤ ਹੈ ਉਪਭੋਗੀ ਨੂੰ!";

}

ਇਸ ਕੇਸ ਵਿੱਚ ਇੱਕ substitution ਬਣਾਉ, ਉੱਥੇ ਮੁਸ਼ਕਲ ਹੋ ਜਾਵੇਗਾ. ਪਰ ਅਜੇ ਵੀ - ਸੰਭਵ. ਇਹ ਕਰਨ ਲਈ, ਤੁਹਾਨੂੰ ਉਹ ਦੇਖਭਾਲ ਤੇਜ਼ੀ ਜਵਾਬ ਸੰਦ ਮੁਹੱਈਆ ਕੀਤਾ ਗਿਆ ਸੀ ਲੈਣਾ ਚਾਹੀਦਾ ਹੈ. ਜੇਕਰ ਤੁਹਾਨੂੰ PHP ਵਿੱਚ ਗਲੋਬਲ ਵੇਰੀਏਬਲ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਤੁਹਾਨੂੰ ਹੇਠ ਲਿਖੇ ਸੰਦ ਵਰਤ ਸਕਦੇ ਹੋ: ਜੇ ਸਾਨੂੰ ਪਤਾ ਹੈ ਕਿ ਕੀ ਸੀਮਾ ਹੈ, ਪ੍ਰਾਪਤ ਕੀਤਾ ਮੁੱਲ ਹੈ, ਇਸ ਨੂੰ ਇੱਕ ਮੈਚ ਦੇ ਨਾਲ ਇਸ ਨੂੰ ਚੈੱਕ ਕਰਨ ਲਈ ਇੱਕ ਸਕਰਿਪਟ ਨੂੰ ਰਜਿਸਟਰ ਕਰਨ ਲਈ ਸੰਭਵ ਹੈ. ਬੇਸ਼ੱਕ, ਇਸ ਨੂੰ ਇਹ ਵੀ substitution ਮੁੱਲ ਦੇ ਖਿਲਾਫ ਪੂਰੀ ਸੁਰੱਖਿਆ ਦੀ ਗਾਰੰਟੀ ਨਹੀ ਹੈ. ਪਰ, ਜੋ ਕਿ ਬਹੁਤ ਜ਼ਿਆਦਾ ਵਿਕਲਪ ਕਾਫ਼ੀ ਗੁੰਝਲਦਾਰ ਹੈ.

ਬਚਾਉਣ ਲਈ ਕੋਸ਼ਿਸ ਨੂੰ ਲੱਭਦੀ ਹੈ

ਆਓ ਦੇਖੀਏ ਕਿ ਤੁਹਾਨੂੰ ਪਿਛਲੇ ਲਿਖਿਆ ਸਮਝਣ. PHP ਵਿੱਚ ਫੰਕਸ਼ਨ ਵਿੱਚ ਗਲੋਬਲ ਵੇਰੀਏਬਲ ਹੈ, ਜੋ ਕਿ ਹੇਠ ਦਿੱਤੀ ਜਾਵੇਗੀ, ਤੁਹਾਨੂੰ ਆਪਣੇ ਆਪ ਨੂੰ ਦਾ ਐਲਾਨ ਕਰਨ ਦੀ ਲੋੜ ਹੋਵੇਗੀ. ਸਾਨੂੰ ਕਹਿ ਸਕਦੇ ਹੋ ਕਿ ਇਸ ਨੂੰ ਸਬਕ ਵਿਸ਼ੇ 'ਚ ਘੁਲ' ਤੇ ਹੋਮਵਰਕ ਦੀ ਇੱਕ ਕਿਸਮ ਦੀ ਹੈ. ਇੱਥੇ ਦਾ ਕੋਡ ਹੈ:

ਜੇ (isset ($ _ ਕੂਕੀਜ਼ [ 'C_COOKIE'])) {
} Elseif (isset ($ _ ਪ੍ਰਾਪਤ [ 'C_COOKIE']) || isset ($ _ ਪੋਸਟ [ 'C_COOKIE'])) {

ਮੇਲ ( "administrarot@example.com", "ਧਿਆਨ, ਸਕਰਿਪਟ ਦੀ ਸੰਨ੍ਹ 'ਤੇ ਕੋਸ਼ਿਸ਼ ਹੈ ਅਤੇ ਡਾਟਾ ਨਾਲ ਛੇੜਛਾੜ ਦਰਜ ਕੀਤਾ ਗਿਆ ਸੀ", $ _SERVER [' REMOTE_ADDR]);
echo "ਇੱਕ ਖਰਾਬ ਸੁਰੱਖਿਆ ਦੇ ਸੀ ਜ ਇਸ ਨੂੰ ਕੀ ਕਰਨ ਦੀ ਪਰਬੰਧਕ ਨੂੰ ਸੂਚਿਤ ਦੀ ਕੋਸ਼ਿਸ਼."
ਬੰਦ ਕਰੋ;

} ਉੱਠਦੇ {
}
?>

ਹੁਣ ਸਪਸ਼ਟੀਕਰਨ ਲੱਗੇ. ਕੁਝ ਹੱਦ ਤਕ C_COOKIE ਇੱਕ ਭਰੋਸੇਯੋਗ ਸਰੋਤ ਤੱਕ ਸਾਨੂੰ ਕਰਨ ਲਈ ਆਇਆ ਹੈ. ਪੂਰੀ ਉਮੀਦ ਹੈ ਦੇ ਨਤੀਜੇ ਅਨੁਸਾਰ ਸੰਤੁਸ਼ਟ ਕਰਨ ਲਈ, ਸਾਨੂੰ ਇਸ ਦੇ ਮੁੱਲ ਨੂੰ ਚੈੱਕ ਕਰੋ ਹੈ ਅਤੇ ਸਮੱਸਿਆ ਦੇ ਮਾਮਲੇ ਵਿਚ ਪ੍ਰਬੰਧਕ ਨੂੰ ਸੂਚਨਾ ਦੇਣ. ਜੇ ਇਸ ਨੂੰ ਆ ਨਹੀ ਕਰਦਾ ਹੈ, ਫਿਰ ਕੋਈ ਵੀ ਕਾਰਵਾਈ ਦੀ ਹੈ ਅਤੇ ਕਰਨ ਦੀ ਲੋੜ ਹੈ, ਨਾ ਸੀ. ਤੁਹਾਨੂੰ ਇਹ ਸਮਝਣ ਕਰਨ ਲਈ ਸਿਰਫ਼ register_globals ਨਿਰਦੇਸ਼ ਤੁਹਾਡੇ ਕੋਡ ਸੁਰੱਖਿਅਤ ਹੈ ਬਣਾ ਨਹੀ ਹੈ ਅਯੋਗ ਹੈ, ਜੋ ਕਿ ਹੈ. ਇਸ ਲਈ, ਕੋਈ ਵੀ ਵੇਰੀਏਬਲ ਹੈ, ਜੋ ਕਿ ਉਪਭੋਗੀ ਨੂੰ ਇੱਕ ਸਕਰਿਪਟ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ, ਦੀ ਉਮੀਦ ਮੁੱਲ ਲਈ ਕੀਤੀ ਜਾਣੀ ਚਾਹੀਦੀ ਹੈ.

ਸਿੱਟਾ

ਇੱਥੇ, ਆਮ ਵਿੱਚ ਹੈ, ਅਤੇ ਸਭ ਕੁਝ ਤੁਹਾਨੂੰ ਗਲੋਬਲ ਵੇਰੀਏਬਲ ਨੂੰ ਸਫਲਤਾ ਅਤੇ ਸੁਰੱਖਿਅਤ ਢੰਗ ਨੂੰ ਆਪਣੇ ਕੰਮ ਵਿੱਚ ਵਰਤਣ ਲਈ ਇਸ ਬਾਰੇ ਪਤਾ ਕਰਨ ਦੀ ਲੋੜ ਹੈ. ਇਹ ਸੱਚ ਹੈ, ਦਾ ਕਹਿਣਾ ਹੈ ਕਿ ਇੱਕ ਪੂਰੀ ਗਾਰੰਟੀ ਹੈ ਕਿ ਕੋਈ ਵੀ ਇੱਕ ਨੂੰ ਨਾ ਕਰ ਸਕਦੇ ਹੋ ਦਾ ਇਸਤੇਮਾਲ ਹੁੰਦਾ ਹੈ, ਜੋ ਕਿ - ਹਮਲਾਵਰ ਨੂੰ ਲਗਾਤਾਰ ਆਪਣੇ ਢੰਗ ਅਤੇ ਹੁਨਰ ਸੁਧਾਰ ਰਹੇ ਹਨ. ਇਹ ਕੋਡ ਵਿੱਚ ਗਲੋਬਲ ਵੇਰੀਏਬਲ ਦੀ ਵੱਧ ਵਰਤਣ ਨੂੰ ਸੀਮਿਤ ਕਰਨ ਦੀ ਇਸ ਲਈ ਫਾਇਦੇਮੰਦ ਹੁੰਦਾ ਹੈ. ਖੁਸ਼ਕਿਸਮਤੀ ਨਾਲ, ਇਸ ਪ੍ਰੋਗਰਾਮਿੰਗ ਭਾਸ਼ਾ ਦੀ ਬਣਤਰ ਅਤੇ ਡਿਜ਼ਾਇਨ ਫੀਚਰ ਇਸ ਟੀਚੇ ਨੂੰ ਹਾਸਲ ਕਰ ਸਕਦਾ ਹੈ. ਚੰਗੀ ਕਿਸਮਤ ਹੈ!

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 pa.delachieve.com. Theme powered by WordPress.