मैं जावा एप्लिकेशन के एचपी फोर्टिफा स्कैन से झूठी-सकारात्मक को खत्म करने की कोशिश कर रहा हूं।एचपी फोर्टिफाइ - एनोटेटिंग विधि पैरामीटर
यह विधि एक "गोपनीयता उल्लंघन" समस्या होती है
private void writeOutput(String passwordRules, PrintWriter out) {
...
out.print(passwordRules);
...
}
इसका कारण यह है मज़बूत, नामकरण रिवाजों का इस प्रकार तय करने के लिए कि passwordRules
निजी डेटा होता है (PrintWriter एक सर्वलेट प्रतिक्रिया है)। लेकिन मेरा passwordRules
निजी डेटा नहीं है - इसमें "न्यूनतम 8 वर्ण" जैसी चीज़ें शामिल हैं।
मैं चर के नाम को बदलकर त्रुटि को दूर कर सकता हूं। हालांकि सिद्धांत रूप में मैं स्रोत कोड विश्लेषक के लाभ के लिए, मेरे कोड की पठनीयता से समझौता नहीं करना चाहता हूं।
मैं इस इसे ठीक करने की उम्मीद:
private void writeOutput(@FortifyNotPassword String passwordRules, PrintWriter out) ...
हालांकि ऐसा लगता है एनोटेशन इस संदर्भ के लिए नहीं लिखा है:
The annotation @FortifyNotPassword is disallowed for this location.
मैंने कोशिश की:
private void writeOutput(String passwordRules, PrintWriter out) {
...
@FortifyNotPassword String rules = passwordRules;
out.print(rules);
...
}
.. लेकिन यह झूठी सकारात्मक को हटा नहीं देता है। (और यह कोड को कम पठनीय बनाने के मेरे सिद्धांत से समझौता नहीं करता है)।
मैंने उपरोक्त परिणामों के साथ @FortifyNotPrivate के साथ उपरोक्त कोशिश की है।
तो ऐसा करने का सही तरीका क्या है?
ओह! उस पैराग्राफ को याद किया। क्षमा याचना। –