OpenVPN ಲಾಗಿನ್ ಸ್ಕ್ರಿಪ್ಟ್ನ ನಿಖರವಾಗಿ ಒಂದು ಔಟ್ಪುಟ್ನ ಮೇಲೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ: ನಿರ್ಗಮನ ಸ್ಥಿತಿ. ಸ್ಕ್ರಿಪ್ಟ್ ಮಾಡುವ ಉಳಿದೆಲ್ಲವೂ ಅಲಂಕಾರ. ಹುಕ್ ಸರಿಯಾದ ಪರಿಶೀಲಕನನ್ನು ತಲುಪಬಹುದು, ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ವಿಶ್ಲೇಷಿಸಬಹುದು ಮತ್ತು ಸ್ನೇಹಪರ ಸಾಲನ್ನು ಮುದ್ರಿಸಬಹುದು, ಆದರೆ ಲೇಖಕನ ಉದ್ದೇಶಕ್ಕೆ ವಿರುದ್ಧ ಅರ್ಥವಿರುವ ಸ್ಥಿತಿಯನ್ನು ಹಿಂತಿರುಗಿಸಬಹುದು. ಮೊದಲು ಒಪ್ಪಂದವನ್ನು ಓದಿ ಮತ್ತು ಅದರ ಸುತ್ತ ಅಡಾಪ್ಟರ್ ಬರೆಯಿರಿ, ಆಗ ಆ ಇಡೀ ದೋಷ ವರ್ಗ ಮಾಯವಾಗುತ್ತದೆ.

ಒಪ್ಪಂದ ಚಿಕ್ಕದು: ಸಲ್ಲಿಸಿದ ಖಾತೆಯನ್ನು ಗುರುತಿಸಿ, ಅನುಮೋದಿತ ಪರಿಶೀಲಕನಿಗೆ ಉದ್ದೇಶಿತ ಪ್ರಶ್ನೆಯನ್ನು ಕೇಳಿ ಮತ್ತು ಆ ವಿನಂತಿಗೆ ಆ ಪರಿಶೀಲಕನ ದಾಖಲಿತ ಸಕಾರಾತ್ಮಕ ಫಲಿತಾಂಶವನ್ನು ಮಾತ್ರ ಸ್ವೀಕರಿಸಿ. ಉಳಿದೆಲ್ಲವೂ ಮೂಲಸೌಕರ್ಯ.

ಹುಕ್ ಹಿಂತಿರುಗಿಸಬಹುದಾದ ಮೂರು ಸ್ಥಿತಿಗಳು

auth-user-pass-verify ಗಾಗಿ OpenVPN 2.6 ಕೈಪಿಡಿ ನಿರ್ಗಮನ ಕೋಡ್ 0 ಅನ್ನು ಸ್ವೀಕಾರ, 1 ಅನ್ನು ನಿರಾಕರಣೆ ಮತ್ತು 2 ಅನ್ನು ಮುಂದೂಡಿದ ದೃಢೀಕರಣ ಎಂದು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತದೆ. ಸರ್ವರ್ ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವ ಏಕೈಕ ಮೂರು ಉತ್ತರಗಳು ಇವೇ, ಮತ್ತು ಪ್ರತಿಯೊಂದಕ್ಕೂ ಸಂಪರ್ಕದ ಮೇಲೆ ಬೇರೆ ಪರಿಣಾಮವಿದೆ. ತನ್ನ ಕೊನೆಯ ಆದೇಶದ ಸ್ಥಿತಿಯೊಂದಿಗೆ ನಿರ್ಗಮಿಸುವ ಸ್ಕ್ರಿಪ್ಟ್ ವಾಸ್ತವವಾಗಿ ಲಾಗ್ ಕರೆ ಅಥವಾ ಸ್ವಚ್ಛಗೊಳಿಸುವ ಹಂತಕ್ಕೆ ಮತ ಹಾಕಲು ಬಿಟ್ಟಿದೆ. ಪ್ರತಿ ಶಾಖೆಯಲ್ಲಿ ಸ್ಥಿತಿಯನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ಬರೆಯಿರಿ, ಪರಿಶೀಲಕನನ್ನು ಎಂದಿಗೂ ತಲುಪದ ಶಾಖೆಗಳನ್ನೂ ಸೇರಿಸಿ.

HTTP ಯಶಸ್ಸು ಮತ್ತು ದೃಢೀಕರಣ ಯಶಸ್ಸು ಬೇರೆ ಪದರಗಳು, ಮತ್ತು ಅವನ್ನು ಬೆರೆಸುವುದು ಈ ಹುಕ್ ತಪ್ಪಾಗುವ ಅತ್ಯಂತ ಸಾಮಾನ್ಯ ದಾರಿ. 202 ಪ್ರತಿಕ್ರಿಯೆ ಎಂದರೆ ವಿನಂತಿಯನ್ನು ಸಂಸ್ಕರಣೆಗೆ ಸ್ವೀಕರಿಸಲಾಗಿದೆ, ಪಾಸ್ವರ್ಡ್ ಪರಿಶೀಲಿಸಲಾಗಿದೆ ಎಂದಲ್ಲ. ನಿರೀಕ್ಷಿತ ಸ್ಥಿತಿ, ಪ್ರತಿಕ್ರಿಯೆಯ ಆಕಾರ ಮತ್ತು ಅಂತಿಮ ತೀರ್ಪನ್ನು ನಿಮಗೆ ನೀಡಿದ API ಒಪ್ಪಂದದಿಂದ ನಿರ್ಧರಿಸಿ, ಮತ್ತು ಸಮಂಜಸವಾಗಿ ಕಾಣುತ್ತದೆ ಎಂದು ಕ್ಷೇತ್ರದ ಹೆಸರನ್ನು ಕಲ್ಪಿಸಬೇಡಿ.

ಉತ್ತರ ನಿಜವಾಗಿಯೂ ನಂತರ ಬಂದರೆ, ಅದೇ ಮುಂದೂಡಿದ ಮಾರ್ಗ ಮತ್ತು ಅದನ್ನು ಹಾಗೆಯೇ ನಿರ್ಮಿಸಬೇಕು. ಎಂದಿಗೂ ಪೂರ್ಣಗೊಳ್ಳದ ಮುಂದೂಡಿದ ಪ್ರಯತ್ನವು ಕಾಲಮಿತಿ ಮುಗಿಯುವವರೆಗೆ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಹಿಡಿದಿಡುತ್ತದೆ.

ರುಜುವಾತು ಕಡತವನ್ನು ಬರೆದಿರುವಂತೆಯೇ ಓದಿ

ದಾಖಲಿತ ಫೈಲ್ ಮೂಲಕ ವಿಧಾನದಲ್ಲಿ, ಸರ್ವರ್ ಬಳಕೆದಾರಹೆಸರು ಮತ್ತು ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ತಾತ್ಕಾಲಿಕ ಕಡತದ ಮೊದಲ ಎರಡು ಸಾಲುಗಳಾಗಿ ಬರೆಯುತ್ತದೆ, ಆ ಮಾರ್ಗವನ್ನು ಸ್ಕ್ರಿಪ್ಟ್ಗೆ ನೀಡುತ್ತದೆ ಮತ್ತು ಸ್ಕ್ರಿಪ್ಟ್ ಹಿಂತಿರುಗಿದಾಗ ಕಡತವನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ. ಆ ಎರಡು ಸಾಲುಗಳನ್ನು ಡೇಟಾ ಎಂದು ಓದಿ: ಕಡತವನ್ನು ಎಂದಿಗೂ source ಮಾಡಬೇಡಿ, ಎಂದಿಗೂ ಮೌಲ್ಯಮಾಪನ ಮಾಡಬೇಡಿ, ಮತ್ತು ಅದರ ವಿಷಯವನ್ನು ಪ್ರಕ್ರಿಯೆ ಕೋಷ್ಟಕ ನೋಡಬಹುದಾದ ಆದೇಶ ಸಾಲಿನಲ್ಲಿ ಎಂದಿಗೂ ಅಂಟಿಸಬೇಡಿ. ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ಬೈಟ್ ಬೈಟ್ ಉಳಿಸಿ, ಏಕೆಂದರೆ ಬಳಕೆದಾರಹೆಸರಿನಂತೆ ಅದನ್ನು ಸಾಮಾನ್ಯೀಕರಿಸುವುದು ರುಜುವಾತನ್ನು ಮೌನವಾಗಿ ಬದಲಿಸುತ್ತದೆ. ಆ ತಾತ್ಕಾಲಿಕ ಕಡತದ ಕೋಶವು ನಿಯೋಜನೆ ನಿರ್ಣಯ, ಆದ್ದರಿಂದ ಅದು ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ ಮತ್ತು ಹೋಸ್ಟ್ನ ಎಲ್ಲರಿಗೂ ಓದಲು ಸಾಧ್ಯವಿಲ್ಲ ಎಂದು ಖಚಿತಪಡಿಸಿ.

ಪರಿಶೀಲಕನ ಸ್ವಂತ ರುಜುವಾತನ್ನು ಬಳಕೆದಾರರದ್ದಕ್ಕಿಂತ ಪ್ರತ್ಯೇಕವಾಗಿ ಇರಿಸಿ: ಅದು ಗೇಟ್ವೇ ಸಂಯೋಜನೆಗೆ ಸೇರಿದ್ದು, ಪ್ಲಾಟ್ಫಾರ್ಮ್ನ ರಹಸ್ಯ ಸಂಗ್ರಹದಲ್ಲಿ ವಾಸಿಸುತ್ತದೆ ಮತ್ತು ಪರಿಶೀಲಿಸುವ ಅನುಮತಿ ಮಾತ್ರ ಬೇಕು, ಆದ್ದರಿಂದ ಯಾವುದೋ ನಿರ್ದಿಷ್ಟ ವ್ಯಕ್ತಿ ದೃಢೀಕರಿಸಲ್ಪಟ್ಟಿದ್ದಾರೆ ಎಂಬುದಕ್ಕೆ ಸಾಕ್ಷ್ಯವಲ್ಲ. ಹುಕ್ ಎರಡನೇ ಪಾಸ್ವರ್ಡ್ ಪರಿಶೀಲಕನಾಗಲೂ ಬಿಡಬೇಡಿ. ಹ್ಯಾಶ್ ಹೋಲಿಕೆಯನ್ನು ಕೈಯಿಂದ ಮತ್ತೆ ಬರೆಯುವುದು ಲೂಪ್ ಅನ್ನು ಗುಣಮಟ್ಟಗೊಳಿಸುವುದರಿಂದ ಸುರಕ್ಷಿತವಾಗುವುದಿಲ್ಲ, ಮತ್ತು ನಿರ್ವಹಿತ ಪರಿಶೀಲಕ ಖಾತೆ ಸಂಗ್ರಹದ ಉಪ್ಪು ಮತ್ತು ವೆಚ್ಚದ ಯೋಜನೆಯನ್ನು ಈಗಾಗಲೇ ಅರ್ಥಮಾಡಿಕೊಂಡಿದೆ.

ವರ್ಗೀಕರಿಸಲಾಗದ ಉತ್ತರದ ಅರ್ಥವೇನೆಂದು ನಿರ್ಧರಿಸಿ

ಕಾಲಮಿತಿಗಳು, ಸಾಗಣೆ ದೋಷಗಳು, ವಿಕೃತ ಪ್ರತಿಕ್ರಿಯೆಗಳು ಮತ್ತು ಲಭ್ಯವಿಲ್ಲದ ಬ್ಯಾಕೆಂಡ್ ಒಂದು ಗುಣವನ್ನು ಹಂಚಿಕೊಳ್ಳುತ್ತವೆ: ಅವುಗಳಲ್ಲಿ ಯಾವುದೂ ಸಕಾರಾತ್ಮಕ ಪರಿಶೀಲನೆ ಅಲ್ಲ. ಹುಕ್ ಅವುಗಳಲ್ಲಿ ಪ್ರತಿಯೊಂದಕ್ಕೂ ಮುಚ್ಚಿ ವಿಫಲವಾಗಬೇಕು ಮತ್ತು ನಿರ್ವಾಹಕರು ಕ್ರಮ ತೆಗೆದುಕೊಳ್ಳಬಹುದಾದ ಕಾರಣವನ್ನು ದಾಖಲಿಸಬೇಕು. ಆ ಕಾರಣವು ಸಂರಕ್ಷಿತ ಲಾಗ್ನಲ್ಲಿರಬೇಕು, ಸಂಪರ್ಕಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಿರುವ ವ್ಯಕ್ತಿಗೆ ಹಿಂತಿರುಗಿಸುವ ಸಂದೇಶದಲ್ಲಲ್ಲ.

ಪರಿಶೀಲಕನನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ತಲುಪದ ಮಾರ್ಗಗಳ ಬಗ್ಗೆಯೂ ಅಷ್ಟೇ ಎಚ್ಚರವಹಿಸಿ. ಕಾಣೆಯಾದ ಸಂರಚನಾ ಮೌಲ್ಯ, ಓದಲಾಗದ ರಹಸ್ಯ ಅಥವಾ ಸ್ಥಾಪಿಸದ ಅವಲಂಬನೆ ಆಕಸ್ಮಿಕ ಸ್ವೀಕಾರದ ಬದಲು ಪ್ರತ್ಯೇಕ ಕಾರ್ಯಾಚರಣಾ ಗುರುತಿನೊಂದಿಗೆ ನಿರಾಕರಣೆಯನ್ನು ಉಂಟುಮಾಡಬೇಕು. ಆ ಶಾಖೆಗಳನ್ನು ಪ್ರಯೋಗಾಲಯದಲ್ಲಿ ಅವಲಂಬನೆಯನ್ನು ತೆಗೆದು ಪರೀಕ್ಷಿಸಿ, ಅವುಗಳ ಬಗ್ಗೆ ಯೋಚಿಸುವ ಬದಲು. ಲಾಗ್ ಮಾಡುವ ವೈಫಲ್ಯವು ನಿರ್ಗಮನ ಸ್ಥಿತಿಯನ್ನು ಬದಲಿಸಬಹುದಾದಲ್ಲಿ, ಲಾಗಿಂಗ್ ನಿರ್ಣಯದ ಭಾಗವಾಗಿದೆ ಮತ್ತು ಅದನ್ನು ಹಾನಿಕರವಲ್ಲದಂತೆ ಮಾಡಬೇಕು.

ಸರ್ವರ್ ಸಂರಚನೆ ಇಲ್ಲಿಯೂ ಮುಖ್ಯ: ಬಳಕೆದಾರ-ವ್ಯಾಖ್ಯಾನಿತ ಸ್ಕ್ರಿಪ್ಟ್ಗಳನ್ನು ಚಾಲಿತ ಸಂರಚನೆ ಅಗತ್ಯವಿರುವ ಭದ್ರತಾ ಮಟ್ಟದಲ್ಲಿ ಅನುಮತಿಸಿದಾಗ ಮಾತ್ರ ಗೌರವಿಸಲಾಗುತ್ತದೆ, ಮತ್ತು ಆ ಸೆಟ್ಟಿಂಗ್ ಹೆಚ್ಚಿಸಬೇಕಾದ ಡೀಫಾಲ್ಟ್ ಅಲ್ಲ, ಉದ್ದೇಶಪೂರ್ವಕ ಆಯ್ಕೆ.

ತೀರ್ಪನ್ನು ಪರಿಶೀಲಿಸಿ, ಮುದ್ರಿತ ಸಾಲನ್ನಲ್ಲ

ನಿರ್ಗಮನ ಸ್ಥಿತಿಯನ್ನು ನೇರವಾಗಿ ಪರಿಶೀಲಿಸುವ ಪರೀಕ್ಷೆಯನ್ನು ನಿರ್ಮಿಸಿ. ಮಾದರಿ ರುಜುವಾತು ಕಡತವನ್ನು ಬರೆಯಿರಿ, ತಿಳಿದಿರುವ ಒಳ್ಳೆಯ ಮತ್ತು ತಿಳಿದಿರುವ ಕೆಟ್ಟ ಖಾತೆಯೊಂದಿಗೆ ಅದರ ವಿರುದ್ಧ ಹುಕ್ ಚಲಾಯಿಸಿ, ಮತ್ತು ಸ್ಕ್ರಿಪ್ಟ್ ಮುದ್ರಿಸುವ ಪಠ್ಯದ ಬದಲು ಶೆಲ್ ವರದಿ ಮಾಡುವ ಸ್ಥಿತಿಯನ್ನು ಓದಿ. ಆ ಒಂದೇ ಪರಿಶೀಲನೆ ಕ್ಲೈಂಟ್ ಸಂಪರ್ಕಿಸುವ ಮೊದಲೇ ಹೆಚ್ಚಿನ ಒಪ್ಪಂದ ದೋಷಗಳನ್ನು ಹಿಡಿಯುತ್ತದೆ.

ನಂತರ ಅದೇ ಪ್ರಕರಣಗಳನ್ನು ನಿಜವಾದ ಕ್ಲೈಂಟ್ ಮೂಲಕ ಉತ್ಪಾದನೆಯೇತರ ಆಲಿಸುವವರ ವಿರುದ್ಧ ಚಲಾಯಿಸಿ ಮತ್ತು ಸರ್ವರ್ ಏನನ್ನು ದಾಖಲಿಸಿತು ಎಂದು ದೃಢೀಕರಿಸಿ: ಸ್ವೀಕರಿಸಲಾಗಿದೆ, ನಿರಾಕರಿಸಲಾಗಿದೆ ಅಥವಾ ಮುಂದೂಡಲಾಗಿದೆ. ನಿಷ್ಕ್ರಿಯ ಖಾತೆ, ತಪ್ಪು ಪಾಸ್ವರ್ಡ್, ವಿಕೃತ ಪರಿಶೀಲಕ ಪ್ರತಿಕ್ರಿಯೆ, ಕಾಲಮಿತಿ ಮತ್ತು ತಲುಪಲಾಗದ ಪರಿಶೀಲಕವನ್ನು ಒಳಗೊಳ್ಳಿಸಿ. ಯಾವುದೇ ಪ್ರಕರಣವು ನೀವು ಹೆಸರಿಸಲಾಗದ ಸ್ಥಿತಿಗೆ ಬಂದರೆ, ಅಡಾಪ್ಟರ್ ಮುಗಿದಿಲ್ಲ.

ಪರಿಶೀಲಕ ಫಲಿತಾಂಶದಿಂದ ನಿರ್ಗಮನ ಸ್ಥಿತಿಗೆ ಇರುವ ನಕ್ಷೆಯನ್ನು ಸಂಗ್ರಹದಲ್ಲಿ ಸ್ಕ್ರಿಪ್ಟ್ನ ಪಕ್ಕದಲ್ಲಿ ಇರಿಸಿ, ಮುಂದಿನ ಎಂಜಿನಿಯರ್ ಕೋಡ್ನ ಹಿಮ್ಮುಖ ಎಂಜಿನಿಯರಿಂಗ್ ಇಲ್ಲದೆ ಒಪ್ಪಂದವನ್ನು ಓದಲು ಸಾಧ್ಯವಾಗುವಂತೆ.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು