我知道像Git和其他命令行界面能够隐藏用户的输入(对密码很有用).有没有办法在Java中以编程方式执行此操作?我正在从用户那里获取密码输入,我希望他们的输入被"隐藏"在该特定行上(但不是所有这些).这是我的代码(虽然我怀疑它会有所帮助......)
try (Scanner input = new Scanner(System.in)) {
//I'm guessing it'd probably be some property you set on the scanner or System.in right here...
System.out.print("Please input the password for " + name + ": ");
password = input.nextLine();
}
Run Code Online (Sandbox Code Playgroud) 我想创建一个Python程序,它接受多行用户输入.例如:
This is a multilined input.
It has multiple sentences.
Each sentence is on a newline.
Run Code Online (Sandbox Code Playgroud)
如何接收多行原始输入?
用户等于不值得信任.永远不要相信不值得信任的用户输入.我明白了.但是,我想知道什么时候消毒输入的最佳时间是.例如,您是否盲目存储用户输入,然后在访问/使用它时对其进行清理,或者您是否立即清理输入然后存储此"已清理"的版本?也许除了这些之外我还有其他一些方法.我更倾向于第一种方法,因为仍然必须谨慎地处理来自用户输入的任何数据,其中"清理的"数据可能仍然在不知不觉中或意外地变得危险.无论哪种方式,人们认为哪种方法最好,原因是什么?
我正在创建自己的bash脚本,但我现在卡住了.基本上,该脚本将用于自动化CentOS中的服务器设置.某些软件通常会要求用户输入密码.我希望脚本将我生成并存储的密码作为变量而不是询问用户.
当安装过程中出现"新密码:"消息时,如何让脚本将值存储在变量中$key,就像用户使用bash脚本键入它一样?
我正在寻找一个简单输入的最佳方法:
echo -n "Enter a string here: "
read -e STRING
Run Code Online (Sandbox Code Playgroud)
通过删除非字母数字字符,降低(大小写)并用下划线替换空格来清理它.
订单有关系吗?这tr是最好/唯一的方法吗?
我正在为客户开发Android 2.2.2应用程序,他想要执行以下操作:
现在我有一个带有onClick事件的按钮,但他不喜欢,他想在用户释放按钮时检测.
我找到了View.OnTouchListener,我认为这是我需要使用的但是,有没有可能将这个事件添加到xml,就像我在onClick上做的那样?
<ImageButton
android:id="@+id/btnSaveNewGate"
android:layout_width="@dimen/btnSaveNewGate_width"
android:layout_height="@dimen/btnSaveNewGate_height"
android:layout_below="@+id/radioGrGateType"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/btnSaveNewGate_marginTop"
android:background="@null"
android:contentDescription="@string/layout_empty"
android:onClick="onSaveNewGateClick"
android:scaleType="fitXY"
android:src="@drawable/save_gate_selector" />
Run Code Online (Sandbox Code Playgroud)
我还有两个问题:
当用户松开手指时,哪个事件相关联?
有没有禁止使用的指导View.OnTouchListener代替onClick?
很多人说不scanf应该用在"更严肃的程序"中,与之相同getline.
我开始迷失:如果我遇到的每个输入功能都说我不应该使用它们中的任何一个,那么我应该使用什么?是否有更"标准"的方式来获取我不知道的输入?
我正在学习clojure,但我想知道如何在clojure程序中获取和存储用户输入.我正在查看clojure api,我找到了一个名为read-line的函数,但是我不知道如果使用它是正确的函数...
无论如何,你如何在clojure中获得用户输入?

上面描绘的角色是几个月前由计算机安全专家MikkoHyppönen发推的,他以计算机病毒和TED谈论计算机安全而闻名.关于SO,我只会发布它的图像,但你明白了.这显然不是你想要在你的网站上传播并吓跑游客的东西.
经过进一步检查,该字符似乎是一个泰语字母和超过87个变音符号的字母(是否有限制?!).这让我想到了安全性,本地化以及如何处理这种输入.我的搜索引导我在Stack上提出这个问题,然后是迈克尔卡普兰关于剥离变音符号的博客文章.在其中,他演示了如何将字符串分解为其"基本"字符(为简洁起见,此处简化):
StringBuilder sb = new StringBuilder();
foreach (char c in "façade".Normalize(NormalizationForm.FormD))
{
if (char.GetUnicodeCategory(c) != UnicodeCategory.NonSpacingMark)
sb.Append(c);
}
Response.Write(sb.ToString()); // facade
Run Code Online (Sandbox Code Playgroud)
我可以看到这在某些情况下是如何有用的,但就用户输入而言,它将剥离所有变音符号.正如卡普兰指出的那样,删除一些语言中的变音符号可以完全改变单词的含义.这引出了一个问题:如何在用户输入/输出中允许一些变音符号,但排除其他极端情况,例如MikkoHyppönen的超级字符?
是否有适合在公共评论中使用的降价的PHP实现?
基本上它应该只允许markdown语法的一个子集(粗体,斜体,链接,块引用,代码块和列表),并删除所有内联HTML(或可能转义它?)
我想一个选择是使用普通的降价解析器,并通过HTML杀菌器运行输出,但是有更好的方法吗?
我们在网站的其余部分使用PHP markdown Extra,因此我们必须使用辅助解析器(非"Extra"版本,因为脚本支持之类的东西是不必要的)..它似乎也更好解析在*bold*文本和拥有一切逃到<a href="etc">,不是生成<b>bold</b>的文本,并试图剥夺我们不想位..
此外,在相关的说明中,我们使用WMD控件作为"主"站点,但是对于评论,还有哪些其他选项?WMD的javascript预览很好,但它需要与PHP降价处理器相同的"中性"(它不能显示图像等等,否则有人会提交并且他们的工作降价会"破坏")
目前我的计划是使用PHP-markdown - > HTML santiser方法,并编辑WMD以从中删除图像/标题语法showdown.js- 但似乎这已经无数次完成了..
基本上:
更新:我最终只是markdown()通过HTML Purifier运行输出.
这样Markdown呈现与输出消毒是分开的,输出消毒更简单(两个大多数未经修改的代码库)更安全(您不是一次尝试渲染和消毒),而且更灵活(您可以进行多次消毒)等级,比如说可信内容的配置更宽松,公众评论的版本更严格)
user-input ×10
input ×3
bash ×2
sanitization ×2
android ×1
c ×1
c# ×1
clojure ×1
command-line ×1
diacritics ×1
emulation ×1
java ×1
markdown ×1
php ×1
python ×1
security ×1
shell ×1
unicode ×1
xss ×1
zalgo ×1