我正在使用glassfish v3,我通过管理控制台创建了一个JavaMail会话.我想像这样使用Mail会话:
....
import javax.annotation.Resource;
import javax.mail.*;
import javax.mail.internet.*;
public class Mailer {
MailGenerator mailGenerator;
@Resource(name = "mail/WMCMail")
private Session mailSession;
public Mailer(MailGenerator mailGenerator) {
this.mailGenerator = mailGenerator;
}
public void sendMixedMail(String recipient, String subject) {
try {
Message message = new MimeMessage(mailSession);
message.setRecipients(
Message.RecipientType.TO,
InternetAddress.parse(recipient, false));
message.setSubject(subject);
......
Transport.send(message);
logger.log(Level.INFO, "Mail sent to {0}.", recipient);
} catch (MessagingException ex) {
logger.log(Level.SEVERE, "Error in sending email to " + recipient, ex);
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我调用sendMixedMail方法时,我看到mailSession为null.是不是可以将资源注入普通类?当我说正常时,我指的是一个不是托管bean或ejb-something的类.
在.NET中实现IDisposable模式的一部分是检查对象是否在所有方法/属性中处理,如下所示:
void SomeMethod()
{
if (Disposed)
throw new ObjectDisposedException("Object already disposed", (Exception)null);
...
}
Run Code Online (Sandbox Code Playgroud)
我没有使用这种管道代码来混淆代码,而是想要一个轻量级工具,它可以在构建IDIposable模式的所有类的后构建步骤中注入它.有什么建议?
我正在尝试使用以下代码在Android上使用Phonegap加载网站:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setBooleanProperty("loadInWebView", true);
super.loadUrl("http://arriva.com.mt");
}
Run Code Online (Sandbox Code Playgroud)
我如何在webview上执行本地javascript文件?
我试图围绕这个概念.我的问题是:
我正在浏览我的网站并进行安全审核.我只是接受了这样一个事实,即我需要清理所有用户输入,但我从未真正停止并尝试过真正发生的事情.我现在开始尝试了.
我在PHP页面上有一个典型的联系表单.这是_POST数据.$_POST["first_name"];等等
我这样做是$firstName = htmlspecialchars($_POST["first_name"]);为了清理和显示如下所示的消息.
echo $firstName . ', thank you for your interest. We'll be in touch soon!'
Run Code Online (Sandbox Code Playgroud)
我开始玩这个,如果我输入诸如<script>alert('hello')</script>名字字段之类的内容,htmlspecialchars它是否有工作并且会隐藏标签.
当我删除htmlspecialchars脚本时没有转换它并在源中显示为<script>alert('hello')</script>BUT,它不会执行.
我的问题是,为什么不执行?这基本上不是XSS攻击会做的吗?我误会了什么吗?
我正在尝试评估一种定制的CMS.devoloper用于抵御SQL攻击的保护是:
str_replace("'", "\'", $_POST[$variable]);
Run Code Online (Sandbox Code Playgroud)
这是否足够好,还是有办法利用它来注入SQL代码?
PS:我知道标准方法正在使用mysql_real_escape_string(),但我试图了解代码的一般质量.
我使用Markdown为我的论坛脚本中的用户提供了一种简单的写帖方式.
我正在尝试清理每个用户输入,但我对Markdown的输入有问题.
我需要在数据库中存储markdown文本,而不是HTML转换版本,因为用户可以编辑他们的帖子.
基本上我需要像StackOverflow那样的东西.
我读过这篇关于Markdown的XSS漏洞的文章.我找到的唯一解决方案是在我的脚本提供的每个输出之前使用HTML_purifier.
我认为这会减慢我的脚本速度,我想要输出20个帖子并为每个帖子运行HTML_purifier ......
所以我试图从XSS漏洞中找到一个清理消毒的解决方案来消除输入而不是输出.
我无法在输入上运行HTML_purifier,因为我的文本是Markdown,而不是HTML.如果我将其转换为获取HTML,我无法将其转换回Markdown.
我已经删除(我希望)所有HTML代码:
htmlspecialchars(strip_tags($text));
Run Code Online (Sandbox Code Playgroud)
我想到了另一个解决方案:
当用户尝试提交新帖子时:将输入从Markdown转换为HTML,运行HTML_purifier,如果发现某些XSS注入,则只返回错误.但我不知道如何制作这个,也不知道HTML_purifier是否允许它.
我在那里找到了很多关于同样问题的问题,但所有解决方案都是将输入存储为HTML.我需要存储为Markdown.
有人有什么建议吗?
我发现有人试图通过密码恢复表单攻击我们公司的网站.攻击是SQL或代码注入.它看起来像这样:
'; if (db_name()))<48) waitfor delay \\\'00:00:04\\\'--'
Run Code Online (Sandbox Code Playgroud)
上述陈述有几种变体,例如
'; if (Len((db_name()))=62) waitfor delay \\\'00:00:04\\\'--'
'; if (system_user))<48) waitfor delay \\\'00:00:04\\\'--'
'; if (Len((system_user))=63) waitfor delay \\\'00:00:04\\\'--'
Run Code Online (Sandbox Code Playgroud)
无法谷歌任何与此次攻击相关的内容.
希望有人知道这是什么类型的攻击以及攻击者在这里尝试做什么?
我试图用代码注入来调用游戏函数.经过一番尝试后,我找到了一个能满足我想要的dll.
所以我用ILSpy看到了这个DLL但却无法理解代码.
class <Module>
{
[SecurityCritical, SuppressUnmanagedCodeSecurity]
[DllImport("", CallingConvention = CallingConvention.ThisCall, SetLastError = true)]
[MethodImpl(MethodImplOptions.Unmanaged)]
internal unsafe static extern float* GetHealth(AttackableUnit*);
}
--------------------------
namespace Native
{
[NativeCppClass]
[StructLayout(LayoutKind.Sequential, Size = 1)]
internal struct AttackableUnit
{
}
}
---------------------
public unsafe float MaxHealth
{
get
{
Native.AttackableUnit* ptr = (Native.AttackableUnit*)base.GetPtr();
if (ptr != null)
{
return *<Module>.Native.AttackableUnit.GetMaxHealth(ptr);
}
return 0f;
}
}
Run Code Online (Sandbox Code Playgroud)
似乎dll将c#代码注入目标应用程序,目标是c ++ dll和bootstrap .net.
现在我无法理解是什么意思
[DllImport("",CallingConvention = CallingConvention.ThisCall,SetLastError = true)]
为什么文件路径为空?dll如何管理类和函数调用?我的意思是程序员使用什么技术?
编辑:我想要了解的图书馆名称是Elobuddy或许有帮助.
在PHP中,有一个名为htmlspecialchars()的函数,该函数对字符串执行以下替换:
& (与号)转换为 &" (双引号)转换为 "'(单引号)转换为'(仅当设置了标志ENT_QUOTES时)< (小于)转换为 <> (大于)转换为 >显然,这样做是基于这5个特定字符是不安全的HTML字符。
我可以理解为什么最后两个不安全:如果将它们简单地“回显”,则可以交付任意/危险的HTML,包括可能带有<script>这些内容的javascript 。
问题1.为什么前三个字符(“&”号,双引号,单引号)也被视为“不安全”?
另外,我偶然发现了GitHub上的这个名为“ he”的库(由Mathias Bynens撰写),该库与编码/解码HTML实体有关。在那里,我发现了以下内容:
在HTML内容(&,<,>,“,”和“)中不安全使用的[...]字符将被编码。[...]
(来源)
问题2.是否有充分的理由考虑反引号另一个不安全的HTML字符?如果是,这是否意味着上述PHP函数已过时?
最后,所有这些都引出了一个问题:
问题3.除了上面提到的那些5/6字符以外,还有其他不应该认为是“不安全”的字符吗?
html escaping code-injection javascript-injection html-injections