{"id":3226,"date":"2023-06-08T11:16:55","date_gmt":"2023-06-08T09:16:55","guid":{"rendered":"https:\/\/bob-team.de\/wordpress\/?p=3226"},"modified":"2023-06-08T12:20:40","modified_gmt":"2023-06-08T10:20:40","slug":"secrets-nicht-oeffentlich","status":"publish","type":"post","link":"https:\/\/bob-team.de\/wordpress\/2023\/06\/08\/secrets-nicht-oeffentlich\/","title":{"rendered":"Secrets nicht \u00f6ffentlich"},"content":{"rendered":"<p><strong>Java im Backend<\/strong><\/p>\n<p>Umgebungsvariable speichert Geheimnis<\/p>\n<pre lang=\"java\">\/\/ in CMD pr\u00fcfen: set | findstr ABC\r\nString abc = System.getenv(\"ABC\");\r\n\/\/ ggf. mit \"-Ddef\" beim Systemstart \u00fcberschreiben\r\nString key = System.getProperty(\"def\", abc);<\/pre>\n<p><strong>JavaScript im Frontend<\/strong><\/p>\n<p>Datei mit Objekt enth\u00e4lt Geheimniss und wird per <code>.gitignore<\/code> lokal gehalten<\/p>\n<pre lang=\"javascript\">\/\/ Datei \"secrets.js\"\r\nconst secrets = {\r\n    abc: geheim\r\n};\r\nparams.def = () => {\r\n    if (localStorage.getItem('def')) {\r\n        return \"ganzgeheim\";\r\n    } else {\r\n        return secrets.abc;\r\n    }\r\n}\r\n\/\/ Datei \"index.html\"\r\n\/\/ im <head> einbinden mit\r\n\/\/ <script src=\"secrets.js\"><\/script>\r\nconst key1 = secrets.abc;\r\n\/\/ ggf. mit localStorage \u00fcbersteuern\r\n\/\/ localStorage.setItem('def', true)\r\nconst key2 = secrets.def();\r\n\/\/ localStorage.removeItem('def')<\/pre>\n<p><strong>Parameter in URL (Java)<\/strong><\/p>\n<pre lang=\"java\">\/\/ seite1.jsp\r\n<%@ page import=\"java.util.Base64,java.net.URLEncoder,java.nio.charset.StandardCharsets\" %>\r\n<%\r\n    String abc = \"a \" + request.getParameter(\"b\") + \" \" + pageContext.getAttribute(\"c\");\r\n    Base64.Encoder encoder = Base64.getEncoder();\r\n    String base64 = encoder.encodeToString(abc.getBytes());\r\n    String urlparam = URLEncoder.encode(base64, StandardCharsets.UTF_8.toString());\r\n%>\r\n<a href=\"seite2.jsp?abc=<%= urlparam %>\">Seite 2<\/a>\r\n\/\/ seite2.jsp\r\n<%@ page import=\"java.util.Base64,java.net.URLDecoder,java.nio.charset.StandardCharsets\" %>\r\n<%\r\n    String urlparam = request.getParameter(\"abc\");\r\n    String base64 = URLDecoder.decode(urlparam, StandardCharsets.UTF_8.toString());\r\n    Base64.Decoder decoder = Base64.getDecoder();\r\n    String[] abc = new String(decoder.decode(base64)).split(\" \");\r\n    a = abc[0];\r\n%><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Java im Backend Umgebungsvariable speichert Geheimnis \/\/ in CMD pr\u00fcfen: set | findstr ABC String abc = System.getenv(&#8222;ABC&#8220;); \/\/ ggf. mit &#8222;-Ddef&#8220; beim Systemstart \u00fcberschreiben String key = System.getProperty(&#8222;def&#8220;, abc); JavaScript im Frontend Datei mit Objekt enth\u00e4lt Geheimniss und wird per .gitignore lokal gehalten \/\/ Datei &#8222;secrets.js&#8220; const secrets = { abc: geheim }; params.def [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,165],"tags":[],"class_list":["post-3226","post","type-post","status-publish","format-standard","hentry","category-java","category-webdesign","entry"],"_links":{"self":[{"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/posts\/3226","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/comments?post=3226"}],"version-history":[{"count":6,"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/posts\/3226\/revisions"}],"predecessor-version":[{"id":3232,"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/posts\/3226\/revisions\/3232"}],"wp:attachment":[{"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/media?parent=3226"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/categories?post=3226"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bob-team.de\/wordpress\/wp-json\/wp\/v2\/tags?post=3226"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}