是否有一个catchall函数适用于清理SQL注入和XSS攻击的用户输入,同时仍允许某些类型的html标记?
我正在编写一个必须接受用户输入的程序.
#note: Python 2.7 users should use `raw_input`, the equivalent of 3.X's `input`
age = int(input("Please enter your age: "))
if age >= 18:
print("You are able to vote in the United States!")
else:
print("You are not able to vote in the United States.")
Run Code Online (Sandbox Code Playgroud)
如果用户输入合理数据,这将按预期工作.
C:\Python\Projects> canyouvote.py
Please enter your age: 23
You are able to vote in the United States!
Run Code Online (Sandbox Code Playgroud)
但如果他们犯了错误,那就崩溃了:
C:\Python\Projects> canyouvote.py
Please enter your age: dickety six
Traceback (most recent call last):
File "canyouvote.py", line 1, in …
Run Code Online (Sandbox Code Playgroud) 数字键盘上没有"完成"按钮.当用户完成在文本字段中输入数字信息时,如何使数字键盘消失?
我可以使用默认键盘获得"完成"按钮,但是用户必须切换到数字键才能输入数字.有没有办法在数字键盘上显示"完成"按钮?
我们中的许多人需要处理用户输入,搜索查询以及输入文本可能包含亵渎语言或不良语言的情况.通常需要将其过滤掉.
哪里可以找到各种语言和方言的咒骂词?
是否有可用于包含良好列表的源的API?或者也许一个API只是简单地说"是的这是干净的"或"没有这是脏的"一些参数?
有什么好方法可以让人们试图欺骗系统,比如$$,azz或a55?
如果您提供PHP解决方案,则可获得奖励积分.:)
例如,我认为这种过滤器有一个位置,例如,用户可以使用公共图像搜索来查找添加到敏感社区池的图片.如果他们可以搜索"阴茎",那么他们很可能会得到许多照片,是的.如果我们不想要那些图片,那么防止这个词作为搜索词是一个很好的看门人,尽管不可否认这不是一个万无一失的方法.首先获取单词列表是真正的问题.
所以我真的指的是一种方法来弄清楚单个令牌是否脏,然后简单地禁止它.我不打算像完全搞笑的"长颈长颈鹿"参考那样阻止一种情绪.你无能为力.:)
我尝试了以下代码......
string pass = "";
Console.Write("Enter your password: ");
ConsoleKeyInfo key;
do
{
key = Console.ReadKey(true);
// Backspace Should Not Work
if (key.Key != ConsoleKey.Backspace)
{
pass += key.KeyChar;
Console.Write("*");
}
else
{
Console.Write("\b");
}
}
// Stops Receving Keys Once Enter is Pressed
while (key.Key != ConsoleKey.Enter);
Console.WriteLine();
Console.WriteLine("The Password You entered is : " + pass);
Run Code Online (Sandbox Code Playgroud)
但是这样输入密码时退格功能不起作用.有什么建议吗?
我想知道对用户输入执行表单验证的最简洁和最好的方法是什么.我见过一些开发人员实现的org.springframework.validation.Validator
.关于这一点的问题:我看到它验证了一个类.是否必须使用用户输入中的值手动填充类,然后传递给验证器?
我对用于验证用户输入的最干净,最好的方法感到困惑.我知道传统的使用方法,request.getParameter()
然后手动检查nulls
,但我不想在我的所有验证Controller
.关于这方面的一些好建议将不胜感激.我没有在这个应用程序中使用Hibernate.
我正在运行这个:
import csv
import sys
reader = csv.reader(open(sys.argv[0], "rb"))
for row in reader:
print row
Run Code Online (Sandbox Code Playgroud)
我得到了回应:
['import csv']
['import sys']
['reader = csv.reader(open(sys.argv[0]', ' "rb"))']
['for row in reader:']
[' print row']
>>>
Run Code Online (Sandbox Code Playgroud)
因为sys.argv[0]
我希望它提示我输入文件名.
如何让它提示我输入文件名?
有没有办法检测JavaScript中当前是否有鼠标按钮?
我知道"mousedown"事件,但这不是我需要的.按下鼠标按钮一段时间后,我希望能够检测到它是否仍然按下.
这可能吗?
我正在尝试为需要用户输入的方法创建一些JUnit测试.测试中的方法看起来有点像以下方法:
public static int testUserInput() {
Scanner keyboard = new Scanner(System.in);
System.out.println("Give a number between 1 and 10");
int input = keyboard.nextInt();
while (input < 1 || input > 10) {
System.out.println("Wrong number, try again.");
input = keyboard.nextInt();
}
return input;
}
Run Code Online (Sandbox Code Playgroud)
是否有可能在JUnit测试方法中自动将程序传递给int而不是我或其他人手动执行此操作?像模拟用户输入一样?
提前致谢.
我知道像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) user-input ×10
java ×3
input ×2
php ×2
python ×2
validation ×2
c# ×1
command-line ×1
eclipse ×1
ios ×1
iphone ×1
javascript ×1
junit ×1
loops ×1
masking ×1
mouse ×1
multilingual ×1
passwords ×1
python-3.x ×1
regex ×1
security ×1
spring-mvc ×1
xss ×1